We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect
Anthony GG · 29.6K views · 942 likes
Analysis Summary
Ask yourself: “Did I notice what this video wanted from me, and did I decide freely to say yes?”
Performed authenticity
The deliberate construction of "realness" — confessional tone, casual filming, strategic vulnerability — designed to lower your guard. When someone appears unpolished and honest, you evaluate their claims less critically. The spontaneity is rehearsed.
Goffman's dramaturgy (1959); Audrezet et al. (2020) on performed authenticity
Worth Noting
Positive elements
- This video provides a rare, unedited look at the architectural decision-making process and 'puzzle-piecing' logic required to build a networked service from scratch.
Be Aware
Cautionary elements
- The 'no-bullshit' persona is a highly effective marketing tool that can make a viewer less critical of the actual pedagogical quality of the paid courses being sold.
Influence Dimensions
How are these scored?About this analysis
Knowing about these techniques makes them visible, not powerless. The ones that work best on you are the ones that match beliefs you already hold.
This analysis is a tool for your own thinking — what you do with it is up to you.
Related content covering similar topics.
CLIs Serving UIs
octetz
What is the problem here? #java #codinginterview #programming
Amigoscode
Top 10 Spring Boot REST API Best Practices You MUST Know
Amigoscode
Most founders dream they'll get to problems at scale #rails #rubyonrails
Ruby on Rails
The Rails Delegated Type Pattern with Jeffrey Hardy
37signals
Transcript
hey are we set up what the hell is that look at his man's hat man his big who's ready we are ped man went to the gym just day of course why not uh wait guys what is going on here I need to go here I need to go here you can't see what I'm doing but it's fine it's all good what is this YouTube is also uh popping up huh hey how's everybody doing let me know man how was your day today how was your day my day was pretty good not going to lie was pretty good was pretty good you came early that's what she said man that's what she said uh what are we doing here wait is this life maybe this this button here look at that U Can we delet this thing we can we this is Twitch Sho what's up twitchers what's up manam alaykum yeah great headphone it's the best headphone I ever had man the MX3 it is it's so good it's really really good I don't know why it's just it's so good I've been learning go but when I search for jobs the market is Slim compared to TS PHP and Etc thoughts yeah because well the market is the market and there are way more jobs for PHP Java JavaScript and typescript and and all that stuff right way more jobs than goaling jobs why because goaling is relatively new right and rust is even more hard to find and then you have Odin and Zig which is basically do not exist they maybe exist right they maybe maybe that's true that's true but hey guys if you want me to write any other language like typescript or JavaScript or PHP or even python let me know man I can I can write every single language on this planet except for Chinese have used flutter for mobile development never I hate Mobile devel I don't know why it's actually good mobile is the future in my opinion but I hate it I don't know why it's like a Expo react native all right guys what's going on no undf no what's up Pearl H def well good day sir hi hi hi hi bjar 3 hey what's up my man Bandai assalam alaykum Mubarak Mubarak means basically like uh what does Mubarak means uh because I have friends in the gym today and I asked them hey hey Quran man I call him Quran man I said hey Quran man what does what does Mubarak means and he said it means good Feast well the sugar Feast whatever you call it that that thing good good thingy good whatever something like that you know what I mean that's what he told me you wouldn't believe but you constantly bring up topics that I have deep interest in you crossed my mind a few days ago how cool it would be to implement some red stinging go yeah so basically red stinging goling is actually very simple uh it's actually very simple but it's a very good well you can the redest protocol is basically very simple at start right it suits goine very well it's very well documented and you can start very simple but you can go so far with it right so if you really want to learn goling I think a red is clone is actually good because you have a lot of resources that can guide you and you can go so far you can just use a hashmap for the simple key values but you can also go for the sorted lists with skip list and all that stuff and then some balanced uh binary trees you can can go for uh persistent on dis you can go for uh distributed stuff you can you can do so much things it's like which is kind of low level but suits go very well because you're going to come into concurrency and y y y y y y y channels and whatever you know what I mean client server I think it's very good I think it's very good to do yes hello German friend have you heard about code Crafters uh they have a project like this but I'm really curious to see your yeah yeah yeah they already they already reached out to me like hey Anthony GG you're so awesome I know can you make something for code graft this it I don't know man I don't know pay me [ __ ] a lot of money and I will um yeah Anthony I use nexts for front because I like the app rouder what do you think about it I think it's fine like jazan app routers or the other router it doesn't really matter as long as you can route you know what I mean whatever suits you it's all good it's all good so we're going to actually start it's going to be a little bit of a coding stream we're going to do it with our eyes closed of course not that's impossible maybe it's not but um we're going to try to speed we're going to kind of speed run it and of course I'm going to guide you you know what I mean and maybe we're going to make it a big big Series so I can snap that into a 12-h hour video on YouTube get more views and eventually be [ __ ] famous and uh disappear to the k k on with my yacht and drink some margaritas on the beach with Conor McGregor sounds like a plan in it maybe I can have some kind of a special role in Road House you know what I mean uh red is make map Things yeah but the thing is guys the the red is implementation people always make this meme like that this is going to be it's going to be a map uh actually to be honest let's make this thing we're going to m they say it's going to be a map string string yes but there's way more to that you know you have a server you have a client I mean it's way more to that guys let's start simple you know what I mean let's start simple let's have some fun so mad uh go redish maybe Right add this like that clear a screen because we can go that is right and then code into this thing tomorrow we're going to do a prime prime agent stream and it's going to basically delete my vs code right and then we're going to actually uh use new him like real men do you know what I mean uh let's do a touch me.go and also a make file maybe something like that open up the make file uh let's do something like that go run let's make it very simple we do go run may not go what a make file is that even uh where's this window zoom level we needs to be at two yeah we order two nice cool package mean uh so basically the first thing is fold the structure put everything in main to be in the route right to begin with you know what I mean uh package main Funk main that's what we're going to do here guys listen very carefully all right rich with Anonymous that's actually what you want to be right uh Zeo the great you don't want to be rich and famous you want to be rich and Anonymous but yeah you know what I mean it's whatever man I'm a narcissist you know that's not true I'm not a narcissist but I I have a little I have some threats I have some threats about that all right so we're going to do things like we already do right I already covered this we're going to make a server uh we're going to do this very fast and then we're going to inspect that protocol right we're going to make the client and the server so we can do some stuff we need something like a config I think we can embed that thing uh we also need a net Oh wait we're going to say the LM not listener because we it's TCP right listener can I type something like that we don't have a config let's do that type config strict boom boom listen let's make it public listen listen address string um something like that and we need to have a fun new server classic goine CFG uh config pointers servers return and servers uh CF G actually going like that it could be that I make mistakes but we going to fix them later on The Listener we don't care about that right uhhuh as server so we did this we did this already is boiler plate code where is co-pilot where is co-pilot to to make our boiler plate code right so we do start an N or maybe I have no [ __ ] clue lnr going to be net listen very simple DCP s listen adders to be honest if Len CFG an address other I'm going to do it I'm going to make an other just because I can you know what I mean like uh if this is going to be zero then we going to say that the uh maybe a con or something default default listen add is going to be what do you think let's take something like 33 3 three I don't know actually uh 5,000 300 100 5,000 And1 something like that I don't know uh there going to be the default thing right wait if that I'm going to say CFG is going to be default with sage is that a thing we can't why you see I'm actually skill issues what hell is this oh I'm I'm so sorry guys sometimes yeah uh where's this wait what huh God [ __ ] damn it man you see going too fast and making this this Rook mistakes all right let's go now we're now we're now we're talking if there's an error here we're going to actually return this error you know what I mean return as why not and otherwise uh s Ln is going to be Ln like that and then we going to actually do return no right something like that does learning go make sense for data science I don't think so to be honest uh python is the way to go man python is your best thing uh I love your course Anthony you teach Concepts uh and ways to think yeah I think my courses are not a lot of people uh well I have very good reviews but of course always refunds I'm going to be honest uh not not that much I think I have like four five refunds and it's because it's not for them because my teaching style is not I'm not teaching you because a lot of people want to have these teachers where they can just copy paste everything you know what I mean but I don't I'm not like that I'm I'm I'm more of a motivating giving you Ways to Think giving you the first initial practices way of doing things and then it's up to you a little bit because if you're going to copy paste man you can even just throw your money into the [ __ ] dumpster you know what I mean in the dumpster with the raccoons uh okay so we have the start function that's what we need and we probably want something like this like like we already did right I already teach this uh we need to have something like s server uh can we do a loop or something like that it's fine listen Loop maybe accept Loop because we have this listen here if we start you're going to instantly put that into a loop maybe like go as and new whatever this going to be here uh listen listen listen oop I'm thinking something like that accept accept Loop that's what maybe we want Loop do we need to have Loop it doesn't really matter don't think about that right s except Loop something like this uh let's do that for I guess sometimes I need to think guys if ad is not M actually to be honest um we need to make sure it's kind of kind of good handled right so um [Music] um we accept the thing is if errors is a no it can't it's fine let's do this we're going to we're going to we're going to see what's happening right if add is not M here um we're going to do this real quick maybe we can do this as L error uh accept errors a a continue maybe because yeah yeah uh is it something like an accept can we have a closed con maybe we can that we need to handle that but [ __ ] that so we're going to Loop here and then we're going to handle the loop classic stuff classic pattern that we always use guys it stays the same uh it's for everything basically if you want to have a server and communicating with a protocol this is TCP with a that is protocol but you can have anything right uh whatever whatever you want why as look good question I don't know stur you can use whatever you want guys uh server then what we're going to do is um handle a connection actually right handle come classic stuff come net come we're not going to do anything here so we're going to say this is connection go s handle come actually to be honest we don't want to have a go thing we're going to actually block each we going to block here [Music] um I'm thinking can me do something like yeah yeah yeah yeah that's it just puzzle piecing puzzle piecing placing puzzles making a puzzle return as we're going to block because we want to start and it needs to block right a little bit the same as uh listen and serve uh of HTTP right the HTP do listen and serve it it's not going to type in here right it's fine uh let's handle this connection the thing is we're going to make a p right very simple and now we going to what I want is make Pier are we going to make it in here I'll make another file go mod and it uh go that is Boom why they are using appointed to a server because we whatever I don't know because we set this LM and everything and we will see we see this is just two variables here you know what I mean maybe we have 10 variables that we going to set uh I'm still curious how to skills configuration how what do you mean confused what's up the lame from from India hey man can we make bl by goling yeah I made two blood chains already in goaling uh wait guys wait wait wait wait wait wait wait it's going to be that uh I'm thinking here so I'm going to add that to a PE list right so I'm going to make it Bish let's b. go here go package name type beer struct Come N do we want to point it to a p probably we want fun p p p p read Loop uh for now we going to actually say uh we're going to read Theon here that's that that's the peer do we actually want to have this p in another file maybe what you can also do is make the P an interface and then call as a TCP P but the problem is R is is so simple it's a TCP P anyway so there's no need to make an interface right uh but for our blockchain which you can see in the patreon has the blockchain stuff uh we or the blockchain in that I made in goang on YouTube uh we use something that is called the transport which is an interface and the p is an interface and the transport can be a TCP transport or a UDP transport or whatever transport you want accordingly with a pier TCP peer UDP Pier whatever perer you want peer Pier okay so this is going to the peer is there so now we want to have something like a map so that's why this needs to be a pointer kind of right uh let's call this Pierce or connections Pi is fine let's make this a map be let's make it the bo for now just for the sake of right uh let's do this like M map point of beit just like that right easy let me quickly than you uh new service we going to actually have are we going to are we going to use mutexes or actually maybe we don't want that let's do this uh add be let's make it like that right CH be like that that's this uh for select case be it's going to be s p Channel S Pier stop doing this pier is going to be Pi uh bu to maybe we want to have something else yeah I know this for I know I know there going to be way more way more man way more I'm going to do default here just for the sake of getting this error out of the way you know what I mean now it's this i t print actually uh I want to get this this this this this lenting thing no way now it's gone right all right we don't we don't do anything with default but we're going to have it's complaining because we have only one case and then a for Loop is uh a for range over the channel is what we need but vs Cod does not know that we have more things going in this for select Loop right so the cool stuff is if we use a number for channel what's going to happen is that we can block on ad Pier so basically if we have a new message coming and we need to basically I don't know later on distribute these messages across peers whatever uh because red is also has these PBS up thingy then you can block there's a new perer here it's going to block here until it's add it and then it's going to uh select range select on the on the other channel the message channel so the new pier also has that new message if you understand what I mean probably not but it's fine this is the loop so we need to start this thing I think we're going to start it in here right go as Loop uh like that let's make some some space here why not uh I think we're set so now we need to think about handle comp are we going to make actually yeah maybe we can maybe we want to couple this we can do we can actually say that the appear to be honest wait let's do that real quick simple Constructors nothing too fancy here uh come come all right um P CH this is group works hard yeah it is it is this can going be used for both back end of a coure banking system that offers virtual dollar and EUR cards that can be used to purchase item online of course it can man of course H if you want to be less worried about con to see that a sync map yeah but the sync map we had this we had this discussion we had discussion already with the sync map um I linked it in the previous it's in the previous stream the sync map has some issues here and there to be honest I'm going to lie um yeah this is the P so now we going to actually do we want to read from the speed each time we add it to our map questions need to be asked question needs to be solved we make a new piece and actually the most simple thing we can do is add P Channel add that P like this and call it a day right maybe we can do mhm actually don't want to have any logic in here we just going to add that P into this thing and when that happens this is the PE we're going to add this PE and then we going to do something like PE do read Loop something like that that this is very simplified stuff right now it's like you can think about this and you can spend hours and hours and hours you just go with your project as fast as possible and we're going to make it better so we're going to handle the connection we make this new pier we're going to add this pier to the pier channel so it's add so we have maintenance of that and then we're going to start this peer Loop here go beer Loop to be honest this is handled in its own connection so do we maybe we want to block here you know what I mean maybe you want a block maybe that's returning in [ __ ] who knows let's see how this goes let's make the server real quick here new server actually let's make it better server right it's going to be a new server like that need a config config uh like this we're going to call listen add we're going to call this uh actually to be honest F this conf right like this what you also can do is make config a point so you can put nil into that but that's like a little bit H I don't know or you can do default config there are a lot of ways I already made videos about that but not going to hassle around with that server start it's going to be this and we can do a lock fatal just like that right fatal server start isn't that a thing can we do that and find P yeah that's because we need to adjust the make file you know what I mean uh build go buildt minus o b um go that is right B can we do that go that this just like that can we do this actually this build you can actually do this that's way better delete this put it in here make this the first one and then depend on builds and then do make oh [ __ ] oh [ __ ] was that it's calling F oh yeah that's because we have this default thing stupid huh uh let's do that it's fine I was going to complain we going to fix that actually to be honest let's fix fix it right now let's do something like uh a quit channel uh quit man is it going to be a chct boom uh let's copy that call this quick Channel and then I'm going to say say Channel stop this it's a CH of struct like this right and then we can actually do another case like here right uh let's copy that case s quit Channel return something like that and now it's now let do make all right so the server is running maybe we should have some logging here real quick uh how can we do that let's go to start here let's let's let's Hurry Up This is the loop let's do something like uh s loog info oh man I'm so bad man it's it's the clip it's the history clip of vs code is not is not like like them that's a problem and skill issues as loog info servers running uh listen add something like that all right now the server is running GG blade okay so we can connect here's going to be a for Loop can we actually say uh if we have a p in our thingy maybe here be connected actually here here here read Loop let's do it here uh as log info new peer connected Pier actually remote Adder uh com do remote other make right uh so that's pretty cool so can we do T net Local Host daet tet Local Host which Port is this 50001 h Hello press enter all right so we have a new perer connected here GG well play okay so that's fine um that's good so the next thing we need to do to be honest why do we need to yes fine um here wait I'm going to make a big mistake to be honest uh make bite uh I don't know this one for now what BFF F Ash wait so there's a couple things right I'm going to uh read here read errors um I'm going to return this actually can done matter I don't know if it's a good idea here to be honest like I said I have no [ __ ] clue this going to be an ad we can handle com I don't know I don't think it's good this one I don't like this but hey it is what it is uh we're going to we're going to clean this errors up man it's going to be read errors wait P read error we can say something like this a is going to be R and then we can actually say that the remote Adder of the pier is going to be the net. remote com do remote edit I don't know I'm just trying to be fast right get something going uh but that's easy that we can return is fine actually we don't need this H right because we already have it uh okay then this is end so basically the message is the thing we need to copy that right isn't it because this is going to be a pointer to a buffer that we're going to reuse we're going to keep using this buffer but if we send this buff [ __ ] I have the best idea to be honest because we need to communicate between the pet and the server right how we going to do that with a channel in it uh when do you close com well when we need to close uh very soon very soon very soon very soon do you speak French and Belgium yes but I can't I didn't basically uh pay attention at school and that's why I'm I'm yeah that's why everything happened here wait so we cannot do this right we cannot do the message is going to be buff uh we need actually everything like that we can't right no it's not we need everything to that is it that's what we want one of these two I don't know we're going to see we cannot do that because this is still going to point to the same thing maybe so maybe we can do something like the message buffer can be something like make me a new slice of by I don't know we need to be careful here not quite sure correct me if I'm wrong but we can actually do n and then actually do something like copy D and Source the destination is the message buffer and the source is going to be the buff n something like that is that true let me actually do this print n buff string buff this one let's do this real quick comment this out do that make again go to tet tet again hello from me press enter go here hello from me perfect actually to be honest that's not true that can be bad you see I'm not the smartest guys I I told you before I am not the smartest kid on the Block right it's like seven okay cool you see sometimes I am yeah why not string bite uh where where we don't need this so we can copy this I think we need to copy that because otherwise we're going to send uh this buffer over a channel and then a no good no good we need to copy this I I'm 9 99% sure and the dud ain't W okay so now we need to have some kind of a Communication channel the thing is okay cool it's fine it's fine let's do that message Chanel make CH B uh not sure if this is correct guys but uh we're going to see that very [Music] soon I need to pee guys the hell's going on [Music] here like that you could do it normally you should actually make your bites like something like like this or I don't know what the same I never use this stuff man it's like if you really want to protect your code against Bad Intruders that actually listen if you want to protect your code against tamies you basically do not let tamies in your cat clip this right private public Co whatever like all these these these safety guidelines and safety mechanisms you're going to implement so the timy in your job cannot use it wrongly get rid of the Timmy you know what I mean get rid of the thing but Timmy loves to write rust because she is unsafe get R of the timy guys simple is that don't abstract react do we like this this message thing maybe I don't know I'm not a big fan of that but it is what it is so we can actually do be message Channel and and and get this message birth into this thing and we're going to communicate back to the to the server right uh because I think we really need to copy this because otherwise we're going to have a this this this this buffer we're going to have this buffer into this message and then you're going to override it and you're going to pointer it's it's a and then you're going to have inconsistent stuff you know what I mean you don't want that so I think you need to copy but I'm not 100% sure but still hey um it's fine all right so we're going to have this quit Channel y y now we have this message Channel coming from from uh actually it's going to be a raw raw message it's going to be this s message channel right uh FMP let's let's let's just print the V to see if we if we're good right let's see if we good RA message how 30 minutes we are good 30 minutes we are very good guys uh let's make again dmet oh oh oh oh wait that's a problem what's going on is too much arguments I know uh s speed coding guys no co-pilot [ __ ] that [ __ ] [ __ ] that [ __ ] presenter look at that message GG well play right so now uh now we need to actually do something like handle connection I'm already too I'm already making way too much abstractions here way too much functions I would put everything into but hey so now we have this thing now we need to handle that so s handle message handle raw message maybe handle raw I love that so much raw message baby uh handle a raw message the raw message and that can actually be an eror right if the eror is not M we return actually to be honest do we have something like a like a a thing that I can copy here yeah I can here like at that super lazy you know what I mean because I have no co-pilot uh let's make this an AR boom uh call this handle raw message erors Ash Ash all right so uh let's copy this thing uh this is the loop accept Loop let's ah H what do you think we're going to place this thing luxury problems in it maybe here and the start right uh Punk s server paste that in boom boom boom boom boom and then it's going to be the let's make it a wrong message right SL of boits boom just like that and an error of course look at that pogers in the chat return error nil okay any questions here but what if I'm timing myself no the moment you the moment you set the moment you say hey maybe I'm a Timmy that's the moment you are not a Timmy anymore a Timmy never knows he's a Timmy he he doesn't know that if you think you're a Timmy you're not maybe you have some Behavior like a Timmy maybe you still write code like a Timmy maybe you still think like a Timmy and if you take off your clothes you look like a Timmy but you are you can be cured from today follow my channel subscribe to my channel press yes or follow on Twitch join my Instagram join the Discord Community you're not going to be a Timmy you're going to be a jacked porn corn porn star you know what I mean looking like GSP breaking legs clapping cheeks that's what you're going to do only here and nowhere else will the server be processing messages from the PS of course because we're going to do that right here right you see this here we're going to handle the massage so let's do it again let's print this message out then we have the full loop right then we have the the full packages going on Raw message right uh let's make it a string string boom boom boom boom boom right so now we can po make boom we have a server running in the blank of an eye now we're going to do a tet but we're going to make the client and go line press enter and then we can do something like plus uh okay this is Ting but we need to have two car two endings press enter right something like that what's the hell going on what is this did we make a mistake again maybe I press the button I cannot press plus okay but the let's do hello press enter that's fine do you know any Turkish uh n ch um it could be that the guy that teach me that I don't know um yeah so I can basically ask a girl to marry me right I can say Guru shus and uh uh what did I know he was doing like um Bo no God damn it Tak I don't know bu takam means uh good uh good of nice team or something nice soccer team whatever it's something like yeah you see I'm man of the world guys um big team big team that's it because we're always I'm always this gu is like a a fer B fan and I'm I'm saying de bom bom or something that's galatas I don't know these guys are talking in my in my gym and I'm basically just copying them and yeah whatever um big team man muak guys muak um and then they say Hast should actually mean uh I'm sick of you but I mean like I'm I'm crazy of you I'm sick like I really really am into this girl that should mean that H H but of course my my my pron pronunciation is is bad but hey I cannot even talk my own language decently let's let's say Turkish right so this handle the wrong message to now um this is a server function so I want to have some some kind of a pure function that can handle these these protocol thingies right so maybe we going to I need to [ __ ] go to it uh maybe we can do touch something like protocol. go Proto do goo boom just like that make it easy Proto proto pro yes um we need to [ __ ] hurry us right type no package package package main uh how we going to call this funk bar message message is B it's all good and it's going to return us yeah that's going to return us some kind of an command parse command look at that you see that that's why you don't want copilot broke pilot First Command and it's going to basically let's make a command let's make a Commando type command strict boom boom we don't know what's in here question mark question mark uh we going to do we want to of course not yeah yeah yeah yeah yeah okay so we going to do so R is R is protocol R is protocol 101 I I I I looked it up today right I did some I did some investigation the blind homies I'm actually building this right now uh and I just saw this W man hey you see you have a version I have a version we can learn from each other right we can learn from each other do you think it's a good idea to add optional to go guys yeah maybe it is maybe it's not people are complaining about the enms and that rust is better and yeah rust enms are great OK camel enms are great there's the same kind of thing with rust uh optional values can be great but I mean yeah but it's right now it's simple and and and yeah we need to deal with the things we have right we have strong cases on the language and we have maybe less strong features on the language and the only thing we can do is just how do you say that row with the with the with the with the boat we have you know what I mean if yeah um what what am I doing here try this look at this look at this [ __ ] logo man it looks like corn flakes um ah here wait how does it work here simple strings yeah so simple strings are encoded with the plus character right and then this r/n is what we need um [Music] so man I'm thinking how we going to do that it's going to it's going to take this is where we're going to [ __ ] up this actually the um but wait actually do we care about that this is like the simple protocol but how do they [Music] uh let me that this there's a medium post also wait guys I'm going to piggy little piggy man can we have please some some examples here what the hell's going on do we need chat GPT here let's let's let's let's call chat chat GPT where is this guy here wait let me first wait man now it's a little bit of a lookup a lookup thing we need to do okay let's let's do chbt so what I want guys blind homies um what is the S what is the bin no is it the binary protocol what is the protocol what is the protocol of redis server client put string whatever it's it's going to guide me right set key value is that what it is set key value but the thing is that but it's this clein right TW gbt wor buning everybody red but the thing is like people are complaining about Redd is that it's not open source y y but the thing is it it's a company right so you need to understand that companies that are making millions are using redit as everybody's using redit let's be honest right big big companies fan companies you all use redis somewhere in some kind of a whatever right somewhere in between um and it's free so red is only lives from its sponsors and some whatever uh they will have some kind of a consulting firm whatever but it's free man you should pay for that right I think free in the world open source is fine but open source does not mean that something needs to be free right salvator San filipo is not a [ __ ] millionaire where is salvator s philipo's [ __ ] huran it's lambor Lambo Lamborghini Hurrican where is it it's nowhere I don't think that s s filipo if you ever hear this are you a [ __ ] multi-millionaire I think need to be a [ __ ] billionaire because the whole [ __ ] world is using your codes you know what I mean but I don't think you are do you need to be probably not but at least one Lambo you know what I mean at least one because you made reddish right you should be [ __ ] famous which you are but you should also be [ __ ] Rich right but I mean rich rich because the whole [ __ ] world uses redit legit everybody but he's not and that's a shame right that's why I'm always telling you guys that you can be so good you can know everything but if you do not XYZ you're gonna be a Timmy no sal sal filipo is is amazing right but you know what what I want to say is here that open source not does not always need to be for free people are freaking out if Planet scale removes his free tier why why would something be free actually guys let's be honest if you think about that let's say you make a project let right you spend hours and hours and hours uh in your free time making some project uh which bring value to the people right people want that and and and and and nobody wants to pay for your thing man that's that's so sad that's so sad people are foring the code and something else will be free yeah of course but I don't like that right thank you much uh I'm eel for the rate man uh I don't like that a free tier maybe a free tier but it should be limited I think people should actually pay for stuff man I swear to God um they could have made a for Premium Future instead of changing the license they could have do a lot of better things but the the same it's not that always that easy guys it's not always that easy right you know even for for example um Unity Unity do you remember the unity uh problem people are basically where this this this one guy Ro to VTO man uh Ro to VTO this guy right um I follow I follow him on YouTube because it's so amazing so this guy it is just a single uh developer and he's making a road to VTO which is a it's it's um how is it called a landmark Landmark is the best the biggest streamer in that game God damn it tarov I'm watching all these videos because I like it and also stank rat he's making these nice videos about tarov so it's kind of tarov with single player uh completely made a unity in the beginning he spent years and years uh but then Unity changed license blah blah blah blah blah and he basically just uh Port everything to godo engine which is wild you know it's crazy um but um yeah so that is not the only big company that make a mistake but it's all about guys times are CH are are changing right VC money in all this project is the money is limited the money is very limited and as long as these companies are not making any money they they're going to die right so of course I this like what else you need to do I don't know man hey there there's no thinging this plan is free if it's free you are the product yeah it's true it's un is publicly traded so they had to start turning a profit yeah of course they they need that certain point they do and redis will probably also need to do that in a certain point of time because whatever hey it is what it is so I'm thinking here this is going to be SQL what the hell is that so it's going to be set my key hello that is I understand that but the thing is how do they handle that protocol uh that's the thing right we need to I need to do something else here where is chat GPT um how do how do I Implement wait how do I implement the reddest client protocol serialization I don't know man prom prompt engineer serialization yeah I know this I know this but how do he put them can I just send plus put whatever uh I'm going to do something for wrong but in the whole that jpt is going to correct me uh F Bar fu is bar I'm going to do something like that hopefully small enough to help me no okay cool all right to set this is what I want right that's why it's amazing that's why chat is amazing you can press garbage and it's going to maybe guide you in the correct way to set value in R you typically use a set command uhuh it's the rasp rasp format yeah set command would something would look something like this not quite sure if it's true but what is this tree oh because it's uh yeah yeah uh is this true guys can somebody what is this this this asterics uh how do we do this red is rasp I need to pee guys uh you can guys find it up I need to go to the toilet and be right back don't leave the stream man I spent so much hours to gather you guys what do you use Corsair KGB mini don't Don't Laugh at My Pants for I'm back God damn it where the [ __ ] is everyone the is used to predicate indicate what follows in Array okay okay yes this is true there are different kinds of messages simple things yeah I know but the thing is that the question is can we just send that we can do whatever we [ __ ] we want because we we we going to do and Cent and server but the thing is is is what is responding to that okay so that's actually a problem man this is going to be so bad um and what's this uh atas this one Aster okay number of elements um and then uh why are why are you don't look already written go R client implementations yeah because that's I don't know I mean if this was if this was a client if if you were a client and I needed and he was asking me to make this and he was paying me uh then I probably just copy pasted some stuff from something that already existed but we are here to learn I'm teaching people how to navigate the landscape of Technology uh and in other languages or whatever so we are making R so we're going to use the documentation and just our [ __ ] brain you know what I mean otherwise it's easy because what I'm what what am I going to learn if I go to an implementation copy paste it over in the same language it feels like there's still some cooko my no is this true of course not um there is a Go Rest Library yeah God [ __ ] damn it maybe we should do that right to make it easier uh is it let's let's just go go rest lip ha shortcuts where is the getup I don't this go the go the go package documentation is so I hate it so hard it's so annoying man so annoying but it's fine where is this append append scan read multi book any value new writers man I just I just want [Music] to the thing is going to take so long to implement this this is so weird where is the g I want to go to the geub thing I don't like to be in here um I don't like to be in here guys help somebody's taking over my mouse here this one dead wall I can't I know this guy he's very I think he has some cool stuff I'm using something else from him what what am I using from him I think it's gome I don't know anyway it's [ __ ] archive man I just want to see what he doing here uh look y y what is this resp. value ah it's like that I see what it is passing this protocol is going to be so [ __ ] painful man do we want to see this on [Music] stream wa do we want this commands I don't think it's a good idea let's do something like that uh no actually here right uh what I'm going to do is I'm going to make a new file here uh Proto test. go me test protocol whatever man T testing uh do you see these two things you can right so par command MSG let me actually do we still have this chat thing open yeah baby I'm just going to I'm just going to do it like I would do it if you were not here okay uh so don't blame it on the alcohol where is my t file here uh [ __ ] I need to do this this this do we actually want that let's make one file because otherwise we can't see uh how do we call this Proto pass [Music] commands part command message in here is a bites this is going to be a string uhhuh uh let's make strings why not it needs to be converted somehow right so this is going to be that um so we always need to check the first thing right [Music] mhm how do we call that let's call the St it's going to be MSG let's do I'm not going to I'm not going to make it I'm going to do it dirty right I just as made mind MSG is going to be this one zero right fmt print Ln T very simple uh can I press this thing 42 okay cool uh can we do this I I'm actually not thinking about this right I'm just doing I'm doing the most basic stuff that I can do we can why is this because it needs to be a rune in it it needs to be a rune in it how do we do that something like this yeah uh I'm a dirty boy a't it what's that oh it's the SL all I see yeah why are they do why are they doing the SL or slash ends man back slash it's so annoying why they do that and do G start at one you see the problem is guys I'm I'm going to lie this passing this protocol is going to take some time so we just going to make it so simple that we can set a key right we're going to set a [ __ ] key and get a key and call it a day I think that's that's what we're going to do uh unless there is some kind of a good package that can basically I don't understand why these packages make it so complicated I just want to put in this string right H and it's going to return me a command structure exactly what command it is and then you can pass the command and and do some stuff with that but everybody wants to make it so generic that it's so hard to use and by the way this package is actually uh archived because how do we even use this I mean look this is this this is raw right so we make a new buffer string yeah r d we read that thing boom boom boom we need to do a for Loop even that's so annoying if it's array i v type array do we want that right I I I love this right right at is nice set leader value I like I I love this right at eight to be honest yeah the thing is we're going to waste so much time on the stupid thing yeah I know that uh the follow I know that that's C cage return and SL and the question is why does Reddit have this even why why do they have two why can't not be one right to separate these things um to put a c in the beginning ah uhhuh are we going to use this are we going to use this real quick are we gonna use this real quick this just a protocol man man I I can hey I can I I I want to spend here making this kind of work man the question is do you want to see that right do you guys want to see me doing this [ __ ] uh because I want to actually yeah make a client and do some stuff get some stuff done you know what I mean um wait so the SP command is not going to it's not going to be yet let's open up this testing here so we can actually try that uh wait where is this package let's just do that man where is the reader here uh for loop we're going to do this boom boom boom where is raw we don't know let's paste that in up let's delete that boom save things everything is fine what is a ray where is this coming from stop man if you make documentation can we pleas what is an array here are then even that's not true where Rd ah it's this one look at that navigating uh protocol yes maybe this array is not working right but it's not going to work because RS is readed right this is stupid how is this package called rasp respirate look at that man all right let's run this thing nice look at that saved 50 hours of our time and some gray hairs hairs set Key Bar okay that's what we want set Mikey bar set we're going to say set Fu to bar that's basically the hello world from radest clones right Boo set Fu Bo bar um so a simple array three times yeah three set SL slash Five that's not true f is three who is three but is three that's what it is all right okay so we have this for Loop over these values and the file are we doing that yeah we do that I like it okay so how we going to how we how can we make this it's a set commands I have an idea are we going to do this can we do this can we do can we do this actually wait wait I have an idea we going to make it any wait we can actually make an interface because they're going to kill me right RIT is going to come and it's going to Flat my ti of my BMW competition we don't want that uh we're going to say type command interface but it's not ending on Earth shut up Timmy yeah we can add some functions like uh serialize and D whatever man hey I'm just thinking out loud just like at cheating you know what I mean uh plus commands yes this is going to be the raw raw we're going to return and command yeah that's just good the Rin Arts man uh we going to now we're going to copy this from our tests I'm such a I'm so dirty isn't it I'm such a dirty coder but I like it guys because I'm getting things done boom we going to paste that in right and we're going to do this wait there's going to be an error here we're going to fix that later on we're going to do this we're going to make this new reader we're going to read everything and then we are going to say let's go back to this test real quick God damn it it's not isolated huh what is this return look at this guys this is how this this is actually programming no what am I commands return command n just for the sake we cannot return that because it's an interface well wait huh oh yeah yeah yeah of course uh we can do any whatever we want we can actually do F easy easy just to get this out of the way guys so we can test this thing so bul string value set ah wait we can do something like where's V where's I I doing what am I doing why is it so weird come on we need to be fast uhuh uh uh uh where's ey we don't need this eye man what is this actually nothing Anthony man what are you doing percentage V sln V that's what I want to see here God damn it boom set Fu bar okay that's what we need V can we what type is this we can't FV s set wait let's do this let's make it good we are in actually we need to be here type command interface can we do something like uh [ __ ] because I want to use this like can we do this command set actually we don't need this man Anthony stop being a Dy wait I want to test it wheel I want to test it real quick and we going to copy it over guys we're going to copy it over no worries no worries no wor no worries no worries no worries I need to be fast Thinking Fast guys Under Pressure need to you need to Under Pressure we can't do that because this is vs code doesn't show me anything anymore nothing nothing anymore nothing you see no errors convert raw string to L what that press enter what the hell is even that I cannot know what V is I want to know what V is so we know what's going on here now we need to do this actually to be honest I'm going to save this close this I think it's vs code so priment tomorrow is going to convert me back uh it's going to delete he going to delete the vs codes sometimes you need that right co-pilot maybe yeah ah it's a response of value now we know right now we now we can work with that uh it's a response value okay can we do V H can we do V equals set this library is you see too much abstractions it's only going to basically distract you we're going to just do this if v string is going to be command set right we're going to do it our way because uh let's Panic here real quick to see if it works works right we can't because this is in our oh it's in our test yeah boom boom Panic nice that's what we want mil point of the reference video yesterday [Music] um can you can you make this Ser scratch yeah we're going to do that uh F string command set that's good else we're going to assume we're going to we're going to make this way better guys we're going to make this way better Trust me guys trust me but first of all we're going to do this actually we could do a switch that's may be better switch v string just like that boom boom boom boom boom boom because we want have more commands delete everything here right default we're going to assume default this is going to be uh if is [ __ ] do we want to pause that into this this this command do we want to do that because we can we can actually use this directly as the state machine for what we need to do what do you think about that is that even better because the problem with this for Loop is that we need to basically say okay it's going to be a set command and now we need to have a State telling us that we are in passing a set command that that's something we could do right if it's default you know what I mean you could do something like it's going to be too complex so I think we could do I think we need to do it anyway this is so annoying I'm not not used to that to to this patterns uh huh wait you could do can we do this do we have set man to be honest I mean if it's a sub command can we just index the [ __ ] way directly I mean why are we can we do do something like uh key is going to be V array assume that it's going to be this one I mean that string yeah I mean yeah like dirty you know uh and then the value is going to be the same thing but uh it's going to be this thing it's going to be two right B the only thing we need to do make sure is if l v array is not tree Panic yikes wait where that huh [ __ ] this is so [ __ ] nasty man this is so nasty it could work it could work and you're all going to see and you think what the hell is this guy doing what is this kind of a style man I understand that I understand that completely oh but it is what it is guys can I please save an indent no we can't this is the command so can we return that yeah return another so we can actually return CMD no return let's do this wait we can return no here because it's an interface and then we going to say fmt error F invalid number of variables for set command or something like that you know what I mean we don't need this this is B command what is this what's going on we have an OT and I don't know what it is oh man I hate this and the pump is so so huge on my screen I cannot even debug that decently wait I think I miss you see this this is like out of thing easy I'm too good I'm him uh now we can do this right actually but believe it or not but that's what this is this is what Peak programming looks like believe it or not this is what Peak programming looks like okay we are there guys the Pinnacle of programming right here number Val of set command why did we did some did we did 0 one2 yeah there there will probably be more actually we just assume this but who telling us that it's still we going to do a percentage uh plus V new line into this V array and see what the hell this even is to be honest let's return here can we do that we can't it's fine um um let's test it again here with the mouse like a thingy it's not helpful at all right uh maybe we could do fmt PR l l v right zero wait wait wait wait wait this v v is too many you see this this is V look at that this is this is your classical Arrow here you know what I mean it's VV V what what's v now the tamy is is debugging this for for two weeks a tamy is debugging this for two weeks is is quits a Timmy quits here did you did you notice how fast I saw this that this going to be the vvv problem I was very lucky that's no experience that was lucky that was lucky guys RSE peig program looks like May f for the whole switch case yeah yeah it's archived but it is what it is right sometimes it it works okay that's good perfectly fine so now we have a command right so now uh handle message here we're going to have this command error POS command wrong message so you can see the important thing is in your codes is that you have these pure functions from time to time right uh because sometimes you see people hanging all these attaching all these function on a server or on a my my jaw uh attaching all their functions on the server but that's not always a good case because if you want to test these things real quick now you have this simple bar command function in protocol that just going to get a raw string and and and spits out uh a command which is kind of how do you call it a pure function to be honest right no State no nothing what you put in is not what you put out yeah you know what I mean something like that important so not going to have that so if there's an eror of course this function needs to be optimized I know but we want to go fast right we want to go this is so important in in your projects even at work is you want to proceed you want to progress as fast as possible uh for your dopamine for your reward system uh for the the the overall Target of getting a project done you know what I mean very important uh error error so then we have this command and now we can do something like um we can do this switch CND ah we don't know what it is maybe we can maybe we can right case set command you see everything comes at Anthony are you [ __ ] idiot everything comes at equilibrium guys the stars are on line Peak programming right here right now uh don't we are just one 1 minute 20 in right 1 minute 20 1 hour 20 in the Stream right guys and I also need to stream and talk and and do a lot of stuff uh I also went to the bathroom we cannot we cannot forget that right set command what we going to do wait can we actually first of all print this real quick that there is a set command that all works print L uh somebody wants to set a key into the hashtable actually it's a sub command V oh man I don't really like that who why do they call it V man like everything like hey we don't know what this is it's an interface we have no clue what it is so we call it V from what the V from very well and know I don't know it's it's weird why don't why don't they call it like B or C you know it's like huh all right that's fine actually let's keep it consistent here right key value that's what it is um okay there's a problem now we need to [Music] actually are we going to get an Aros are we we get an are we going to get an N guys if we do this and then we basically uh tell net Local Host alet tell net Local Host what is this 5,1 press enter hello press enter we need to fix that right read it's actually not true oh it's this one here oh yeah if F Type um banic debuging man this is like this is the Pinnacle of programming I swear to God man yes uh look at that invalid invalid or unknown unnown command received do we actually know from who that is no it's fine we don't need to how do we know what combine it is look at that very easy press this press this press this and then we say uh percentage s and it's going to be the raw message make boom boom hello presenter wait don't we handle this okay we done heat okay I see what's going on here uh wait it's how is this [ __ ] for Loop man look at that easy easy easy fix what do you think guys press one if it's going to fix it press two if I if you think I'm a Timmy hey hey UN reachable code wait if but it's not huh is in conditionally terminated never bro bro switch to return values man I swear to God I don't know what's going on here so basically we are passing a command we got in this for Loop yada yada look fatal all good then we are if this V type is an array then we do this but if it's not I see it I'm a Timmy I'm a Timmy in The need but now we need to paste it in here as well right press one or press two hey this was not a mistake it was not an error it was a little happy accident guys little little and nobody's telling me that you just you just and now it's this unconditionally closed what do you mean by that the surrounding Loop is unconditionally terminated yeah so what this is just like a placeholder Arrow right don't it's just something that's going to be there for for just a couple of years and that is probably going to be replaced um or archived so yeah okay now we have a okay so this is working all fine right um the thing is that now we need to have some kind of a client how we going to do this uh let's make a new folder here client we need we still have we still have time client boom press enter make a new file uh M client. go package client type client strict uh fun we're going to make a simple new client guys I can point it to a client maybe want an add are we going to Ping directly probably not you want to do this return and and cl Mario Mario Mario are you on a vacation or something I saw a picture of you doing no code somewhere on the beach and it looks like it was in Belgium or something because the weather is very bad it was either Belgium or London or uh England some somewhere on the um do C or something tell me tell me it's true tell me it's false um yeah just home now okay are you following the code no man I don't follow I don't follow anything I'm just this is all in from my brain you know what I mean it's all coming out of my fingers just flowing out of my fingers Cod crafts we we uses that you know what I mean you don't do that you go to the fulltime gov.com that's what you do there you need to be or in my Channel or in my patreon that's how you get good not B Cod craf man normally would get an opt a port here and everything we don't want to do that so let's do something like Funk uh C point it to a client because why not client and then you're going to say I don't know let's make it simple set context how you want to I'm going to teach it I'm going to teach you like it should be guys a context of context of course you know what I mean this is how you this this is how you can see I hate that not always sometimes I think for that is maybe I have no clue but sometimes it's good sometimes it's bad but you can see you can directly you can actually if you if you want to interview somebody in a goang interview and uh in a goang job interview and you ask him to write some kind of a function that interacts with TCP or whatever something like this like write me a simple set write me a set function for a radish client yeah that will interact with the server and if he does not Place context as the first argument you can fire him you know what I mean you can you can directly see the difference between go Engineers right if they know what they're doing or not uh context and then we could say something like uh key Val actually yeah it's all strings right P Val string I don't like this this you see this is what you can do in go but I don't like it so I'm going to do this I don't know this is like clear you know me clear Mario Mario CTX and an optional VG as a second argument man I don't know what we can actually yeah maybe we should put the whole [ __ ] standard library in a pointer you know what I mean like the STD here uh STD poed to I don't know like uh like an STD lip something like that you know let's do that so we have contacts we have everything you know what I mean we can we even have an HTTP Handler uh but yeah this is fine right key value and then what's going to return it's going to return perfect um we can actually make a poter to I don't know to a python library or something uh set context keying and what is it going to return uh set nothing an okay actually the r is client I hate the that is Cent they use something like a a response and command and then you need to call error on that and oh I just don't I hate it what I'm going to do is this man errors [ __ ] that [ __ ] because it's either going to be okay which is good or it's going to be not good so if the error is not there it's going to be good right you know what I mean it's it's simple not like red is doing this client is so annoying uh the redest client look it up man it's it's annoying point it to a python lip uh uh okay so how we going to do this so [ __ ] we need to do something like that come R is going to be net dial TCP I'm going to do it quickly now we need this this this Adder right so basically this client needs to be configured so let's do something like this pseudo not not pseudo like mediocre code right this is not high level I'm the best cooling engineer code this is like I'm doing this all from memory code live on stream code right so we're going to say the uh address is going to be a string right boom uh do we want that maybe we want address other the other you I mean string boom people are always confused if they come come to gold at PS or or strings yeah get used to it uh adders adders right so we're going to do this Local Host actually I know I to turn another here right just like that cannot connect then we have this connection now we need to actually we need to send right uh we need to go back to this Li oh this is like a whole [ __ ] we need let's go to be honest copy paste that's what we do this could be in proto right we could move this to Proto very soon but let's make it dirty uh buffer where's this we're going to set this thing uh that's what we know for sure right can we use like we can we cannot even import command set because this is in the main So Pro should also be in a Proto package but it's fine we going to hardcode this uh string value okay it's actually too easy look at that let's make it Val here boom uh can we do this we can we can do it nice it's fine we're going to copy we add string we could also do can we do we can make it better we can make man wait buff string okay oh yeah yeah yeah yeah it's writing in this buffer uh come right we can copy we can we can do an IO copy actually but the thing is we're going to try that we going to try that the problem is with IO copy and iio copy and connections and uh is a problem because you're going to keep reading and keep copying because you don't and that's I already made a I made a video about the distributed file system and I made that on Reddit how to copy large files uh video right how to stream large files and I put that on Reddit and uh the first thing Reddit say Anthony you're wrong don't use copy n don't use copy n you need to use copy you [ __ ] idiot listen Timmy try to use copy in a streaming environment over connections it will never stop copying right you need to have copy n and if you don't believe me try it yourself man try it yourself BFF dot b ah in let's do that underscore add is this return wait yeah fine fine I love it can we make this a little bit more JavaScript friendly we can by doing this so all the rubyists and rans are very happy here can I even make it better we can even make it more cleaner this is the cleanest actually look at that sexy SEO is slow yeah SEO is very slow for some it's it's unfortunate bit slow it's it has a slow buildup um yeah this is it this is it guys client set new client okay so now [Music] um can we use the same can we use the same program we can right let's make a client into this thing this is our server so let's do something like this let's make the server into another goo team uh something like that let's let let them block here and now we have free free game here we have free game can we do a select without getting blocked here probably not we can't that's that's nice good news actually I love this a lot so now we are blocking here right for the people that don't know what this is we are blocking here right so the the program does not exit right so the program does not exit right um because we're going to do some stuff here so we're going to make a new client add is going to be new client actually to be honest this should be new okay client client client new with address we're going to say Local Host 50001 do we need to we don't need to block here right we need to do a Time sleep here that's what we need to do time sleep as at least 1 second actually time second here why because this server needs to boot up and if we don't we don't need to we don't we don't need this we don't need this look at that I'm all chest player chest player so what we going to do is this return lock fatal the error lock fatal fatal angle this is a Lo fatal angle the error here then we have a client then we're going to say if is going to be client client I'm dyslectic on client uh wait is importing a new client a stripe client it's not it's not that funny vs code it's not that funny man uh set is it going to import that no how we do it manually huh strip in red is uh set context what do you think context do background our best friend you can also use context. too and what did we learn this is a question I'm going to ask two questions on a job interview the first question I'm going to ask is make a client mck a a client library that interacts with some kind of a database or something like that right so then they need to put context in the first uh in this right the second question is guys listen very good if you're a CTO guys if you are a CTO if you are a lead engineer and you need to interview goang Engineers you're going to ask the following question what is the difference between context. background and context. too what is the difference true followers on my channel they know that because we covered that in the previous video exactly mam Alum Habibi nothing there is no difference why because the context to do is an strict the context to-do returns a to-do context a to-do CT structure and a background returns a background C structure but the background CTE structure embeds an empty strict and the to-do CTE also embeds an empty strict so it's basically a fugazi you know what I mean it's a fugazi it's nothing it's it's a scam well the only thing actually the only difference is the string W yo if W guys chat listen if somebody tells me the difference between context. to-do and context. background is the way they implemented the string interface because context. background will return context. background as a string and context. too will return context. to do as a stram wow I swear to God I'm getting a boner right now if somebody is going to explain me exactly like that on a job interview he's going to get insta hired I don't even care how old he is I don't even care how much hair he has on his hole [ __ ] the guy or the girl that comes up with this thing if it's a girl I'm going to marry her I swear to God if you are a girl telling me this I'm going to marry you and you can drive my BMW competition hurt it doesn't matter guys it doesn't matter H hurt ask about the S turn whoa whoa whoa whoa Mario Mario Mario but listen guys Mario Mario is on another level right you have you have the go Engineers you have Timmy you have the go engineer then you have Mario no you have the go Engineers you have the Timmy the go Engineers the the the the the mid level go engineer the senior go engineer and then you have the Mario the Mario for B and engineer you know what I mean the guy that basically also wants you to put a weight group as a second argument next to context that's Mario you know what I mean I swear to God if he's going to interview you you're probably you're going to have a bad time man he's going to ask questions man you're going to be I swear put on some deal because you're going to sweat like a pig man Contex with cancel also good to know yeah yeah yeah of course of course but I just want to say this guys this question about context to two and context background is a useless question right it does it's useless but it's just like if you know that you you basically went into the if you know exactly what what the difference is you went with your with your balls deep into this into the standard Library documentation right you went into you you GD into this go to definition you did that you memorized that you're a [ __ ] chat you know what I mean whatever uh okay so now we're going to set this thing what are we going to do we're going to set food to bar that's basically the hello world of Redd is clones right R is not n we're going to do this uh Lo fatal of course because we are in the scope of a main function what is this client new you don't return nrow that's even better easy you know what I mean okay so now so we going to for the people that know we're going to sleep because we're going to do this go fun thingy so this server needs to boot up and Y y y y so we're going to sleep a second give it time before we create this client and set this in okay is it going to work I have no [ __ ] clue press one if it's going to work and uh enter two if you think it's not going to work why is going to work that's blazingly B are you blazingly faster from uh Discord or not or another blazing Le could be another blazing Le yada yada yada y no you're not okay it's fine then we have two blazing it's fine if you're a c ask something more intelligent true okay everybody thinks it's going to work okay then we going to see right okay we don't need this what did the [ __ ] what the [ __ ] just happened here nothing you see it's like a this this is so funny right so I know it it's not working because we don't see any logs and my first intuition is to change this one to two but I also know it's not this but it's just like I don't know what I'm doing this it's like waste of time but maybe is a small chance that it's going to work with this like it's it's like rerunning your code without changing it in the hope the error goes away that's the same thing all right so not going so one is one is fine here time second one is fine so uh we do this set client the question what it is it's not the N dial DCP uh PL package name do you think that's the case that could be right but I don't think so I don't think it's the case but we don't know no it's not it's not the case right um wait let's do that what's the problem well the problem is guys that um yeah well the problem is that this server no the problem is so basically we set this thing but we close here right so uh we set this thing and then we instantly stopped using we we instantly just closed the program we exited program so there's no time for this server thing to basically print it out right that's the problem um yeah that's that's a thing so it's working right so basically wait where is my main thingy here so we don't need to we could actually do a Time sleep actually let's copy it because I'm lazy oh bestp delete that that so it's going to be fine make you see boom boom boom okay so somebody wants what's tree why what are we printing each uh wait let's delete that why are we printing tree here this one actually all right uh okay that's pretty cool it's pretty cool can we do this for Loop actually for boom boom boom boom and then we going to actually implement the the thingy counts it's going to be 10 that is baby all right um next step of course what's the next step next step is going to be uh make me it's it's not the good the correct thing hey was this didn't we make it okay A Touch key valve Val package M um oh yeah now we need to do something like let's call this key Val real quick it's going to be a structure um because red is has red is has multiple multiple storages right so red is has for example a simple key value right key value which is basic the cash what is this basically known for which is actually believe it or not just a simple hash map a simple hash map right uh nothing more than that of course you can also in that is you can store for example um sets you can store ordered sets and all that stuff and these have other data structures they have for example uh a very like the holy Grill the skip list right or which is basically some kind of a self balancing binary tree is correct me if I'm wrong I'm not a specialist um but I think we can have the key value Str thingy uh actually to be honest maybe we don't need this uh uh uh uh uh wait let me think about this real quick because I want to make it simple what is a command red is for setting a list I want to think about that real quick to see how we going to engineer that uh what is the command in Rus to set a list to set a set list whatever or push okay okay okay uhuh or push I'm going to I'm going Mario I'm going to use a uh yeah I'm going to use a key um a map key bite and what is red is doing is red is serializing its integers to the bite representation like a little Indian kind of stuff we can actually just make it a bite simpler or we can make it a binary protocol the thing is that if if it's a set do we really want a separately data structure for that um I I think I think we can do something like this guys I think we can we need to make it uh a little bit better let's do Funk let's do s server set maybe we're going to keep it internally set let's make it an error probably right and we can do this return s set key Val wait V key V Val right something like that hey why is this not working where v v v key it's a string yeah yeah so that doesn't work man ah um yeah oh maybe press y first huh uh key key Val string and now we're going to actually we're going to attach these these these these things just on the server so this is p y uh let's make an AMU the question is we need to have multiple mxes we actually should split that out to be honest we should split that out we should do that we should do that we should do that guys we should make a key Val how do we call that yeah I know this name sucks I completely agree I completely agree don't need a poter because the da is already a poed right uh let's do this key key key Val and then we say data is going to be make actually we do it like that people people hate this map people hate this that it hates this map string uh bite oh they hate that so hard that's why I'm doing this newal boom bo boom Funk actually I got a better idea KV baby KV look at that look what I'm doing man yes yeah let's make this let's make this let's make this capitalized because why not maybe we going to in in in import that or something uh key Val string um an error but whatever it's not going to return an error but yeah TV we need a mutex uh M KV KV mu Lo defer KV mu unlock and we're going to say KV data key bite F can we do that is that a thing what's that okay we can do that yeah it's it's true we need to make a pointed because otherwise it's going to complain about the mutex is if it was only the data it's fine but now we need to have this uh set so we're going to copy this real quick because we're going to do a get we want that right we're going to say get uh theet here which is going to be a string and we're going to return an error and the key and the value by the way it's going to be um H let's return a string right actually let's return a bite let's keep this very bsh bite we're going to lock actually uh get this a read lock right r lock R unlock okay actually do we want an arrow let's make a Boolean um KV data key return Val okay is that a thing oh look at that so now we're going to make the structures here let's do that we're going to say the KV KV is going to be KV uh KV new KV boom wait this is not uh I don't think this is a good idea I'm going to D reference a pointers all right so we're going to set we're going to do simple this s there a proxy proxy thingy actually we don't need that that would be so BS right actually maybe later on if we want to because we can do it here as set we can actually do that um s da V set V key V Val can we return that would that would be so sick yes beautiful look at that uh how can we test that it's going to work well well I'm going to show you where's my server this is so bad as of [Laughter] this I'm not done yet huh I'm confused I'm not confused I'm and that's a what are you doing you're idiot man you need to have this other thing it's this thing it's this one okay let's go yay look at that beautiful beautiful okay wait let me let me see the value is always a string when I switch to the string L conversion is chat power yeah L conversion is chat power that's true that's true the less conversions the better so but yeah I think we are fine with the convergence right can we optimize somewhere maybe maybe maybe maybe maybe we can uh do you even need to bites and bites out true true yeah yeah maybe we need to double check the conversion maybe we can actually keep it as long as possible wait why are we stream yeah but to be honest I'm thinking about this because we're going to do some other stuff like integers and other we're going to see we're going to see what's going on um so I think I was thinking about getting us a bite yeah okay Okay cool so people are are basically tripping about that and maybe so setting as a string getting as a bite but wait well guys listen the problem is the problem is that this this package we use this this the r the restas package is actually where is this package here yeah oh wait we we call string here huh hey [ __ ] what's going on is let's going on I have an idea I make bit of this I just bite my nail well hey hey hey hey wait the set command let's go back we won't bites we won't bites all over the place you guys have convinced me you are 100% right uh this is going to be a raw string right AO bite first things first first right so let's call this BS and this thing also as well right the thing is we need we need to have strings H as or um key that's for sure but that's that's fine it's fine so that's all good I see so where's the problem problem is going to be key Val uh sting bite I I like that well yeah let's do this let's make it bites um the thing is that this needs to be can we do this this is nasty isn't it I don't know we will see is that a thing not quite sure maybe it will wrong but but fine so why does the key have to be a string because we can't use a bite Can we pretty sure we can I never seen this before in my life I never seen this in my whole life this can we please because you can't right you can hash it but that that I mean just make it a string GG it's fine you can make it an you could what I did before is using this uh I think it's do I have this in Hollywood I think I uh where do I have it it's like a super super super fast algorithm that can that uh hashes to a very very short u in whatever I don't know what it is it's super fast uh um you could do something like that but yeah make it a string it's fine wait so ra is a string that maybe needs to change this is fine this is fine bites bites bites this key Val also stores bites bites B it's just a string that's fine can me just make it man and see what's going on yeah seems to be good right wait we the client the client H the client what do we want with the client do we want strings do we want strings here with the client what is this song called I don't know uh hey what is the rest of my thing it's being called Desert Lights Desert Lights by mints by the way guys you can follow me on Instagram slnm I'm going to I'm going to post more content there you know what I mean look at this gym content I'm going to post every time every content business content you're going to see like parts of my life look at this guy man look at this what is this even man what kind of a bag is this man holy [ __ ] and this guy claims to be natural you going to believe this man but it is oh look at that so the M3 and all will be here will be here look at that Marathon hey you see I'm I'm one of the 1% let us be honest if I'm not one of the 1% in what kind of a percent do I live then and what percentile do I live hi than isolation mosty values are string based yeah yeah that's true um what we going to do with this client man is like let's keep it strings because timmies are using this client and timmies don't want to hassle with things so another thing we could do this is right so we could also do something like this and I want to test this real quick uh IO copy we could do this IO copy and we could do wait what is this dust save uh d and a source so the D is going to be the con is the source and the destination is the buffer experience this is experience this is what they call experience man you just guys listen I'm going to say it again right it's just all about pressing buttons programming is did you see me programming this thing today guys let's be honest I was just I'm just pressing buttons trial and narrow man I just do some stuff having fun you know cleaning this up is easy right guys let's be honest like writing good code that's is easy writing good code is easy because once it's all done and everything works you can go and you can check and read and you can start moving things around making things clean adding some documentation adjust your variables a little bit make sure Timmy can read it you know and and and do it make some test make it good right but in the process of between don't be such a kind of a just be loose a loose be loose food loose what are we testing here this IO copy is not going to work but I just want to try it because I don't know uh maybe it is it's going to return an arrow is the same thing right Ash boom it's going to work it's going to keep hanging forever you see boom and it's going to be here violation no point of the reference why is that yeah because this buffer Anthony is like a you just made a video about pointers and then you do this what kind of idiot are you huh hey no actually huh I'm I'm I'm I'm him I'm just him there's no I cop is better for bigger things I swear to God I'm just him man I mean you can say whatever the [ __ ] you want but I'm him this new peer connected I hate this thing I'm going to delete that we don't need to we don't care about that there well a problem actually because yeah there a bit of a problem because what we doing here is we oh we make a new client here I see do that I'm even more to him oh wait it's still doing that it's the set thingy right it's setting it's the same client but the problem is that it's basically going to set it's going to keep adding a for no reason at all it's like connection pooling you know what I mean it's a little bit of a connection pool cooling problem going on here uh that's fine we're going to fix that later on do we need a get request yes we do how do we do that in R is probably get in it probably get how many how long are we streaming it's fine it's fine it's fine let me see let me can I do some a little little stat check here real quick twitch okay it's fine it's perfectly fine happy with that happy with that Happy YouTube okay it's fine we're good we're at equilibrium love that when I was 5y old I wanted to be a bus driver because it had a lot of buttons at the end I use split columnar keyboard lots of custom key bindings H Who would know 25 years ago huh yeah I collected two nice clips of you Anthony from this life thanks man uh yeah if if if you guys can clip and all that stuff do it for that would be nice so I can make shorts out of that and we can boost this channel into I don't know into the top of the tech scene you know what I mean uh making every Tech a [ __ ] a [ __ ] MMA fight that's what we're going to do right uh yeah so I think it's just get right so things we need to do is this pooling thingy this set right this client is keep calling each time we do that so um what we could do I have the best idea in the world man again suddenly like boom that's programming and that's actually what I love it's like boom getting struck by Thunder what we're going to do is we're going to actually we're going to do this come net com right that's going to be no so we're going to say FC com s n we do this is that a or are we actually or are we garbage Heat uhoh actually while doing something stupid like that I'm going to do something very very dirty actually here guys I'm going to do this just to check here there going to be C add there going to be this add here uh uhhuh uh let's do see is come come come come come come Kish it's going to be the same there going to be the same outcome wait what's going on here why do we have two things do we actually what's going on so we make this connection and we set that I think the problem is going to be this thing like I said before there going to get some issues here this copy come so we're going to actually do this far buff wait far buff V buff buff pointer bites buffer wait yeah it's fine it doesn't really matter let's do this um underscore at is uh C right buff bites right try out try out guys try the [ __ ] at [Music] please [ __ ] we [ __ ] it up huh wait man we were so now we are we have a setback that's like programming is is not linear so we had this big peak like this Bitcoin 2017 Peak and now we're crashing you now we're crashing here so it's all about this connection so we dial this connection here at the beginning of a new client of course we need to return this other but yeah we going to set this connection so we basically dial here we dial we have this the connection is in the client we set 10 times which basically means we're going to write 10 times we're going to write 10 times we're going to write this buffer I want to see how how many times is an is being printed here 35 why so huh wait did we actually like that's not that's not the point right that's going to be that's going to be the point nah it's not so this is f zero where is the rest then C set um uhuh I have no [ __ ] clue what I'm doing but maybe maybe something like that right I don't know man God damn it I don't know what it is and it annoys me it annoys me a lot [Music] um it's a skone right thingy I we need to double check that what's going on with the skone so are we going to it's fine uh we we going to check what it is it's something very small but I don't know what it is right it's fine it's fine it's fine it's fine at least we can do something right at least we can we can set we can set at least we can set one one key into this map that's really weird I actually want to be Burg um you see that's the the I would you say that professional I don't know how to say that but I cannot let this go that's fine we going to set this yeah we going to be the problem now we going to get what I'm going to do is I'm going to I'm going to fall back to what we have this unpulled client can we just press this for a long enough yeah we can come this one we're going to make this come make make boom yeah now it's fine uh this not the best thing like I said we need to make this this this pooling got done this pooling we need we need to reuse this connection where is this uh other thing here new client connected here we don't need that boom we don't want that so now we can actually use get request right the get the get command how we going to do this we go back to Proto real quick here uh we're going to make this into boom boom boom paste that in we're going to make this into a get command we also want to get the key uh actually that's not true we're going to return the value H is that is it going to be the same thing boom just like that get command uh command get command set what is this split the screen split the screen for me baby right now copy this boom get boom get speed coding that's what we call this close this thing copy this boom call this command get boom what I need to do here copy this whole [ __ ] bang copy paste that's that's that's what you're going to do invalid number of variables for the set command get commands get commands but this is going to be two right get commands turn CMD CMD actually you can even make it better here because this we returning the same thing we could return uh-huh uh-huh [ __ ] I'm going do that paste that in client get with the G from GG call again call dial again not good I know I know I know I know uh get get get we only need the context and of course the second variable is going to be a weight group as as according to Mario according to Mario right it's going to be a weight group right Mario if you ask can can basically make that happen in the stand the library you're going to be so hated man I swear Mario you're going to be the most hated goaling engineer in the world if you can have this as a as a default thing in a stand Library where you have the context as a first and an empti weight group as a second man people are going to kill you you know what I mean uh get get this key is what we want I think that's fine I think wait it's going to return how we going to do that now we need to return that Connection huh we're going to make strings here but we telling us that's a string for now it's a string going to write if it's actually actually a little bit tricky a little bit tricky tricky iy actually what you I I hate this I hate this returning on these empty strings but it is what it is Ash now we need to actually do something like [ __ ] b b buff buff make slice bite how long is going to be I don't know the classical stuff here com re buff so we already have a buff BB then underscore R is this uh we can actually return this error but we need this n also so we can actually return string of b n Ed is this true am I him probably not but we never know you know what I mean uh so we're going to set this thing and after we set it we actually going to do this value is this we're going to this is going to be an error otherwise FMP print Alm the value and if this all works from the first batch I am the Undisputed gooling champion of the world you know what I mean that context to do uh [Music] uh Val [ __ ] we have some problems we're blocking somewhere uh the question is how what and where yeah we calling of course you know it's not the same [ __ ] thing actually of course it's not working we don't handle this get request wait let let me fix that let me fix that of course we don't handle it huh where are we handling these things he Anthony God damn it [ __ ] it up again it's getting late I know it's 5:00 in the morning the conversations get bored boring Anthony stop doing that uh ask if he gets this thing wait but that's going to be an arrow right V actually Val is going to be this if a is not nil return at actually huh this a Brant I'm so tired don't going to lie if add key not found [ __ ] you man we're going to fix it we actually we can't we need to write that back into the connection [ __ ] [ __ ] me and I want to fix that I'm not going to stop streaming until it is fixed so okay so there's a problem this is a programming problem so we we basically made our program everything works now we're going to do the get command and we have a problem what's the problem well we have the raw message but we don't have the connection to write it back right so how we going to do that well we going the first thing that comes to my mind is to basically um we're going to handle a raw message is this thing but maybe we can have where it's coming from this is the loop this is the message channel the message channel is this B thing here so now we're going to make this type into a message thingy strict right we're going to do this then we're going to say we're going to have some data which is going to be a bite and then we going to have a connection which is going to be a net com actually a pier uh Pi uh I think it's a poter to the spear is that is that correct what we're going to do not sure so we're going to do this we're going to make this Chan of a message message just like this now we're going to find where this message channel is getting used right with the GD so it's going to be here press that so we're going to see this going to handle a message a raw one that's not true I'm going to call this handle message from now on message message message data look at that I'm so good uh and then we going to say this Val Val Val message P come actually going to make it even better guys look at that I'm the Master look at this P P Funk this p p pointed to this P right boom actually you can actually make it sent if you really want to uh message is going to be slice of bites right AR and actually we're going to we're going to return return this abstraction that is UN needed abstraction but it is what it is uh P come write message and AR boom boom boom MSG PE P sent Val I want to check this out to be honest not going to lie is [Music] know is there no shortcut oh yeah there is actually I'm going to do yeah I'm sorry that I'm I'm I'm I'm a little bit tired and a little bit you know it's it's a long stream it's a long coding I pressed so many buttons I wrote so many codes you know what I mean just actually copied the first things of of that at is client uh it's not that easy uh P sent error I'm just want to make it make it dumb actually so yeah and now we going to read the chat error f it doesn't exist in in the as thing uh that's that so the only thing we need to do is basically make sure sure man I think it's basically like white slime dripping out of my mouth and everything because I'm so thirsty message be be be be be there going to be make Chen here of this message just like that and instead we don't handle a raw message speak programming guys speak PE PE programming message Chan message uh-huh uh-huh wait was that no definitions for this holy crap because we made a mistake here actually we don't make a mistake we made a little happy accident just like this now there's one more thing and I don't want to find it so I'm going to make it so it's going to guide me we going to click this and be exactly here shortcut this is a shortcut that you can abuse if you don't know if you're so lazy and you don't want to find your error you just build your program and click it you cannot do that in any other languages because they are so slow in compiling but you can do that in Goan because Goan compiles like a maniac what's going on here H this basically this new peer of course we changing plans changing plans changing plans it's going to be everybody needs to be updated huh boom this is what they call refactoring on the fly live on stream scen uh [ __ ] not [ __ ] man not [ __ ] man look at that and he here is basically this is what we what we actually needed is this P thing this is the missing link to send the value back which is p that's what it is so now it should actually work I'm not sure key not found GG that's something that's something we got something right wait let me try real quick with something very simple we we have some kind of a race not a race something there's something smelly on this code somewhere but that's normally you cannot make this in two hours and a half and it's going to be perfectly fine that ain't going to happen uh per Channel super useful that ain't going to that ain't going to happen uh so we're going to make actually this one this is actually not a loop but then we don't need to remove this you know what I one time actually that one time on band camp yeah no no yeah yeah yeah yeah yeah yeah got this back it's working it's working it's working working and twering baby you not found yeah of course of course yeah yeah we're going to set the thing and then we're going to basically get it's not going to work like that why because because it's because it sets I mean wait it's because it's not yet in the map for some reason so why is that is do we have some kind of a race condition going on ah it's because we dial they use it the do they use a different kind of did they use the same channel HH they use the same channel the same thing so we at the speed is fine these need to be the they need to be unbuffered they need to be unbuffered channels right because if they are buffered there could be a possibility that we are actually we have this mutex for handle message here anyway so to fix ah carpal tunnel ah so to fix this right now H we could do this right I know it's it's very very hacky I completely agree guys but I mean there is something is there needs to be some debugging and debugging is we can do that another time time sleep time second that's going to be that's going to be enough and it's going to perfectly work right there's never going to be problem boom got this back but right uh it's going to print this thing we don't care about that we don't need this sleep we do we don't uh what we could do is actually now we can make it 10 and it's going to work perfectly fine right I think hopefully right just give it time so it's going to be set you see so because to be honest we needed to work we needed to work on this client anyway right so it's making new connections and something is we're going to set it and then we get it instantly but set it's not done so let's actually follow this real quick so we're going to dial then this other thing is going ah I know what it is it's the dial problem it's a dial problem so what is the problem here I'm going to I'm going to explain right so let me open up I'm going to show you the problem uh as uh exol draw so what is the problem so basically you have this client right and what this client is doing uh it's going to make a get request here the get the get Command right very important pay attention class and then we are done uh get right so it's going to make a new connection for that right and then directly after right without the sleep without the sleep here right uh without the Sleep directly after the set it's going to create a new connection right with Set uh actually it needs to be different it needs to be set and double click here please and get it's going to make a new connection here right but they are two two different they need to dial so it could be that this guy that that this is dialing this is dialing but this guy is first to get so it's never set because get is first Sometimes set is first that's the problem if you we use the same connection then is no problem because we're going to connect and we're going to do this over the same connection anyway uh and then we're never going to have that problem right then we never going to have that problem so we need to fix that the first thing we need to fix is this client connection chenaran all right guys so basically we wrote what did we wrote today let's do a little recap here we made a server let me let me use the mouse for once in my life 8:00 I'm going to do a 6km run after this one I'm going I was thinking am I going to do a run I went to the gym already but I'm going to do a 6km run because we are closing coming closer to the summer guys and what does the the summer [ __ ] mean the summer means that we're going to Cod like a maniac making money like a shark but also we're going to be shredded Like a Knife how do we get shredded Like a Knife we need to do the cardio in guys we need to do the cardio we need to eat clean and the cardio so I'm going to do a 6 kilm run listening to Feelgood music that's what I'm going to do after the stream here that's what and then I'm going to work back I'm going to do all my messages you see we never stop we never stop guys we never stop where is the accent from this accent is coming from the kinger the kinger Belgium yes the basically the Pinnacle The Pinacle of of civilization that's where I'm coming from so what do we do we made a server for a simple configuration right simple server and it can start we make a loop we make an accept Loop this accept Loop is going to accept TCP connections making new connections from that making these connections into peers each peer is going to have its read Loop and this read Loop is going to par the is basically going to read the message coming from that connection and it's going to pipe that back in write that back into the channel of our server our server going to handle that it's going to make a parse command that's the only thing we actually did right this parse command is the only thing we used to live library for just for the RSP but that's good uh it's going to pause this Command right if it's a set command we're going to set it into the KV if it's a get command we're going to get it and we're going to send that back to the connection this is the loop going to handle some stuff accepting connections handling connection main function make a client this client is basically connect to our server and it's going to write some R stuff some R Shenanigans you can see that here right wait yeah we set F Bar but in a loop right and then we get we get full set get that's what we do what do you think I'm going to be completely honest here with you guys I mean if you know this if you follow the stream and you know this concept you can do a you can basically do everything and go right I mean you know everything in this stream we covered also what's the differ between context to do and context background I mean if you already know that I mean yeah yeah connection pool we need to fix that when're for that 100K Subs I don't know what's going on it's very hard it's it is what it is some people make a [ __ ] stupid video and they get like 40K subscribers from one video look at me look at me struggling here you know what I mean making R clones teaching people how to [ __ ] code and make money and be jacked at the same [ __ ] time uh struggling so guys make my grandma proud because I promised her to have 100K subscriptions by the end of the year right so subscribe to the channel give me a thumbs up on YouTube jump into to my Discord community and make my grandma proud the problem is my lags are still stiff from a lag day from yesterday but we don't care about that right we can't stop we won't stop it's 8 o'clock it's nice it's perfect this stream took almost three hours what do you think guys are you happy with this press one if you were happy with this stream press any other number if you're not there always one that going to press another number man he's going to be banned of course not guys of course not the call to action guys that's something I'm going to learn to you you need to Montana time the primagen is slipping into my DMs man sending me all pictures that you don't want to know Montana time what the hell is Montana it's Prime from Montana it's prime a cowboy Montana Montana Prime is from Montana huh he's from here here lives Prime J the prime Mr Prime lives here somewhere that's wild uh Montana time yeah sometime tomorrow I'm going to jump or we're going to do a little collab right he's going to basically uninstall vs codes that's what's going to happen we're going to back to KN them right so I'm going to be I'm going to turn from a boy to a man you know he said over a pile of nuclear bombs you're going on a stream tomorrow yeah somewhere the problem is somewhere I don't know what time it is it's like it's very difficult uh somewhere somewhere and then we're going to do this real quick we're going to get get get get this over with you know what I'm going to get over with this thing um delete F code from my PC for once and for all right but it needs to be at some kind I have some kind of a prerequisites right we need to have this toggle here we need to have this tole here and we need to have a GG that is a GD a go-to definition that is as fast as mine and if if we go to a definition that is in the same file we stay in the same file otherwise let me delete a spear here otherwise we open up a new buffer we GD into a we open up a new buffer with a GD in here with a go to definition to the thing where actually go to definition to that was struggles I had with my setup that's the only thing all that is [ __ ] all all these other things like these just these this these four things this this oh split screen but that that's simple that's easy and uh maybe this one where I can cycle to these tabs with what is this alt shift and then these these brackets it's a very weird thing to do I know it's super unefficient but it's like my muscle memory is used to it is what it is uh if you can do that uninstall vs ggw play get out of it right Z is good yeah but I don't have a a magbook because I'm poor because I'm a poor man yeah he's having skill to with TCP so he needs your help yeah I saw that I gave him a hint about the Clos thing I said guy you need to basically check your error and check it for an is closed com that's the only way you can well you can actually never check if if if you're going to double close something you can right you can I mean you can because you can just you can just check if the if if it's an is closed con and if it's an is closed con you just mute the eror and then you don't have an error you know what I mean anyway um where are you from Anthony from uh Bika from Belgium the Pinnacle of civilization I've told you where they make chocolate and beer but I don't drink beer as much you know I me it's for I don't know it's cheap dopamine why would you drink beer if you can make radis clones guys let's be honest I mean how why would you drink beer if you can be if you can look like a [ __ ] Greek god why would you drink beer if you already have all the confidence you need because why do people drink right why do why why do you think people are drinking or using drugs or something else because it it Alters their state of mind right if you drink you're going to be super confident that's why people sometimes drink before they going to have sex because it's going to Lo loosen up the it's going to loosen up the the environment [ __ ] you if you drink beer you you're GNA have a a how do you call that a flappy dick you know what I mean you want you want it to be super you don't want to drink man never you know what I mean you can drink but you can never drink before getting confidence it's so bad man just go to the gym and and and make some money and then do some perfume and and wear good clothes and you have confidence enough you know what I mean it's so I don't understand that man it's so [ __ ] uh it's so annoying thinking whiskey and all that stuff as as if it's like cool no it's not because if you drink and you think and these people they drink right they drink they drink and they feel so good in the club right they feel so good and they want to they want they are aggressive and they want to [ __ ] no they going to [ __ ] me up I'm going to knock you the [ __ ] out every time of the day if you're drunk you know what I mean you you don't even have a [ __ ] chance even if you come from behind you know what I mean you don't have a chance if you drink that's that's the problem you want to be clean and focused at all times man that's what you want to be nonetheless you can never drink with your girl like a glass of wine and all if you know enjoy life I understand that but there are people thinking it way too you know what I mean they go out and they drink and they drink and they drink and it's all normal I don't think so it's very dangerous because people go into the car people do stab people people do stupid stuff when they are drunk you know what I mean I don't understand that like so many things are forbidden in life you know what I mean you cannot swear you cannot do this you cannot do that but drinking is allowed I don't understand that so how many problems are coming from drinking guys so many [ __ ] problems don't do that ever don't do drugs and don't drink do don't do it it's just a waste of [ __ ] time and money it is but like I said from time to time New Year's Eve drink a glass of champagne it's all good not a big of a deal but you know what I mean some people just come home and the first thing they do is open up a six-pack why why would you do that sometimes I drink like these these trapis beers from Belgium I think it's nice but it's I enjoy it it's like ice cream you know like a trapist like a little bit of like a relaxed one or two maximum you know wheat is the Pinnacle of making you happy when you are not supposed to be I was I was a wheat I was a wheat abuser myself guys not going to lie I I I was a we abuser myself for a very long time but uh yeah at a certain point of time you you realize it's just waste it's just a waste right it's not it's I don't know B [ __ ] don't do drugs man trust me anyway guys B steak Yeah but still guys don't do it uh I came for the app stay for the code thanks you Peter staras man thank you so much thank you so much based it it can be based I give you the best tips man I swear to God people say Bas Bas but I'm giving you the best tips um so yeah whatever you want to do with it you do with it right hey you are warned okay guys very very thank you that's not how we say that thank you very much for being on this live stream was amazing at a good time um hey why don't you have a file explorer close your eyes now I have one look at that wait focus focus file explorer you see this uh thank you for joining the stream much appreciate that tomorrow I'll be live again probably while we going to be I don't know when it's going to be but we're going to be on the prime stream or here on my stream I don't know if it's going to work never did it if it's even going to work with Discord I have no [ __ ] clue we're going to see that right uh yeah thank you for
Video description
► Join my Discord community for free education 👉 https://discord.com/invite/Ac7CWREe58 ► Exclusive Lessons, Mentorship, And Videos 👉 https://www.patreon.com/anthonygg_ ► 33% OFF on my Go + HTMX + Templ Course PRESALE 👉https://bit.ly/3UFruxO ► Enjoy a 60% Black Friday Discount on My Golang Course 👉 https://fulltimegodev.com ► Learn how I became a self-taught software engineer 👉https://fulltimegodev.com/#mystory ► Follow me on Twitter 👉 https://twitter.com/anthdm ► Follow me on GitHub 👉 https://github.com/anthdm Grab yourself a 33% OFF on the PRESALE event of my building production ready applications with GO + HTMX + Templ + Tailwindcss + JQuery course here: https://bit.ly/3UFruxO SUBSCRIBE OR NO MARGARITAS ╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗ ║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣ ╠╗║╚╝║║╠╗║╚╣║║║║║═╣ ╚═╩══╩═╩═╩═╩╝╚╩═╩═╝