You Don't Know Network Programming

  Рет қаралды 61,788

Tsoding Daily

Tsoding Daily

Күн бұрын

Пікірлер: 147
@bigmiraclewhips
@bigmiraclewhips 24 күн бұрын
15 year old blog posts are the backbone of the programming industry
@lukmauu
@lukmauu 23 күн бұрын
Bigger true was never said
@isuckatthisgame
@isuckatthisgame 23 күн бұрын
IT industry peaked in 2005
@default-writer
@default-writer 21 күн бұрын
@@isuckatthisgame i do not think it peaked in 2005. moreover, i think it does not actually existed by the way.
@pajeetsingh
@pajeetsingh 21 күн бұрын
Big talk.
@hyperthreaded
@hyperthreaded 19 күн бұрын
💀
@Momoyon
@Momoyon 24 күн бұрын
Yes mr zozin, i don't know much networking programming so im here to learn from mr zozin
@KybaLioN66
@KybaLioN66 24 күн бұрын
💩💩💩💩💩💩
@reticuli4314
@reticuli4314 24 күн бұрын
Mr. Zozin pinging Mars via Germany while sitting in a chineese space station.
@SlinkyD
@SlinkyD 24 күн бұрын
TCP is ¾ duplex. Thanks for showing something I rage quit from while learning programming because knowledgeable devs didn't think it was possible.
@eltonzip
@eltonzip 24 күн бұрын
Первые секунды видео - величайший пранк в истории канала
@eduardojesus2522
@eduardojesus2522 23 күн бұрын
DA!
@jahjahhhh
@jahjahhhh 24 күн бұрын
That wallpaper got me good you troll
@lassipulkkinen273
@lassipulkkinen273 24 күн бұрын
Minecraft Java Edition actually has this bug. I reported it (MC-270155), and they closed it as Won't Fix.
@hoyoreverse
@hoyoreverse 24 күн бұрын
@@lassipulkkinen273 typical java soy devs
@BlueIsLeet
@BlueIsLeet 18 күн бұрын
@@hoyoreverse Java rules the world
@hoyoreverse
@hoyoreverse 18 күн бұрын
@@BlueIsLeet only if the world is full of dummies (or is it?)
@BlueIsLeet
@BlueIsLeet 18 күн бұрын
@@hoyoreverse I guess if you use Android you're a dummy
@leifmessinger
@leifmessinger 24 күн бұрын
Article reading stream? What are you, ThePrimagen?
@vovagusse
@vovagusse 23 күн бұрын
The name is not theprimeagen
@azatto7
@azatto7 23 күн бұрын
TheZozin
@JesusGonzalezCaraveo-o6e
@JesusGonzalezCaraveo-o6e 21 күн бұрын
-agen!
@errelin1326
@errelin1326 24 күн бұрын
Just learn a little about networking programming last semester and this series videos on web socket are way more interesting than my lectures ❤
@thebirdhasbeencharged
@thebirdhasbeencharged 18 күн бұрын
that tcp implementation video will be one for the ages, was doomscrolling last night and stopped to watch this and didn't realize where an hour went
@grenadier4702
@grenadier4702 22 күн бұрын
31:32 I don't think that's the case. I think VPN service detects that an IP is one of the private addresses, thus it just disables itself and sends a normal request, otherwise I don't see how it could be able to send a request to your private IP address because basically VPN service sends a request, in your case, to the German server providing in the payload the actual address that you wish to request, but if you provide a private IP address, then how would VPN be able to figure out what to request?
@mehmeh8883
@mehmeh8883 19 күн бұрын
Love how the twitch chat is in subtitles
@kamildoan
@kamildoan 24 күн бұрын
Dude when will you start operating system development series. We need that cure
@TheFuzzyTomcat
@TheFuzzyTomcat 18 күн бұрын
3:44 Trawl = fish(verb) with a very large net. It is an extension on the metaphor that searching the web is like fishing. Trawl is pronounced like "all" with a "tr" in front.
@wtfenc0reenix
@wtfenc0reenix 17 күн бұрын
i had to laugh so ha on the end of the video when "urmom" got the error "requested entity is too large" xD the perfect mom joke :D
@dnkreative
@dnkreative 22 күн бұрын
The phrasing "program reported that all the data had been sent correctly" is wrong. Succesfull write to the socket does not mean that it was sucesfully received or even transmitted to the other end.
@ZZ-sn7li
@ZZ-sn7li 15 күн бұрын
It's literally saying that data has been SENT. Not received.
@GoldoEb
@GoldoEb 24 күн бұрын
Germans steal your bytes!
@RSTrigger003
@RSTrigger003 23 күн бұрын
They have a lot of 'a's now!
@forKotlinsky
@forKotlinsky 23 күн бұрын
I've been watching you for a short time, but I really like the content where you explain a smart article with examples and jokes (I'm an amoeba); please continue, spasibo!
@hoyoreverse
@hoyoreverse 24 күн бұрын
People keep forgetting to flush the streams after them.
@cheebadigga4092
@cheebadigga4092 23 күн бұрын
that reassures me thank you
@hugo9078
@hugo9078 22 күн бұрын
what does it actually change?
@User948Z7Z-w7n
@User948Z7Z-w7n 22 күн бұрын
Flush means read all the remaining bytes in the buffer. Always flush before close.
@hoyoreverse
@hoyoreverse 22 күн бұрын
@@User948Z7Z-w7n if we're talking about read, that's drain but the thing is, after reading it, it'll flush the acknowledgements that the "pending data" was received
@hugo9078
@hugo9078 21 күн бұрын
@@User948Z7Z-w7n got it, thank you!
@razac_zr
@razac_zr 14 күн бұрын
OP not knowing how many years between 2009 and 2006 shows you don't need to know much math to be a good SE
@rubayethkamal210
@rubayethkamal210 23 күн бұрын
Could someone tell me how he is finding the man pages for the functions and definitions in the C library ?
@diamondtulip6186
@diamondtulip6186 23 күн бұрын
it's section 3 of unix manual pages `> man -S3 printf`
@BlakeneySmith
@BlakeneySmith 23 күн бұрын
they're not installed by default on some distributions. on Ubuntu for example, you need to install `manpages-dev` and `manpages-posix`
@Speedster-c5h
@Speedster-c5h 24 күн бұрын
New lore just dropped
@victordvickie
@victordvickie 24 күн бұрын
My favourite yapper streamer
@AxelThorA
@AxelThorA 23 күн бұрын
Thanks for another amazing vid amistah zozin
@AlexanderDemin
@AlexanderDemin 19 күн бұрын
Also, how did you learn English so well in your streams? Pronunciation is subjective, but your grammar, vocabulary, and overall use of English are fantastic. Especially if you have never left Russia in the first place. Thank you, man, for your streams! :-) Enjoy every single one.
@TsodingDaily
@TsodingDaily 19 күн бұрын
Worked in outsource for American and European companies in the past.
@user-hk3ej4hk7m
@user-hk3ej4hk7m 11 күн бұрын
the way sockaddr is handled is a pain in the ass the first time you learn how to use sockets.
@Kknewkles
@Kknewkles 24 күн бұрын
Oh! The end screen's been back since the last one, awesome :D
@tapf380
@tapf380 24 күн бұрын
8:35 "I think I even know the person..." *Literally types gibberish in hexadecimal from memory wtf man
@kasozirogers7944
@kasozirogers7944 23 күн бұрын
I came looking for this comment
@salim444
@salim444 23 күн бұрын
0xc0ff3
@CorrectMyGrammarPls
@CorrectMyGrammarPls 23 күн бұрын
Its "deadfood" written with numbers to be valid hex
@aarorissanen930
@aarorissanen930 23 күн бұрын
Another self report
@dfc6117
@dfc6117 21 күн бұрын
and the whole drama is that we do not even need to know to keep grinding
@UnrealCatDev
@UnrealCatDev 23 күн бұрын
Does the same apply for that bad video game os (Windows)?
@JohnKouts
@JohnKouts 23 күн бұрын
Tsoding we love you! We need merch!
@User948Z7Z-w7n
@User948Z7Z-w7n 22 күн бұрын
This is such a great article and a video Only someone who knows ins and outs of protocol can write about such topic in a way that everyone can understand
@TasosDaris
@TasosDaris 24 күн бұрын
If you use openvpn, I believe the default configuration for client/server is to communicate via UDP (openvpn assumes that if UDP fails to deliver, your underlying TCP connection will retransmit). I'm not sure if this could affect the communication of a and b.
@maclaurinrocha2881
@maclaurinrocha2881 18 күн бұрын
without a shadow of a doubt you are amazing, thank you so much for sharing this amazing knowledge
@kapustinalexander848
@kapustinalexander848 23 күн бұрын
Do you really need to create `sql` transaction in your request handler for read operations?
@activelow9297
@activelow9297 16 күн бұрын
Did you have to SO_LINGER... did you have to.. did you have to.. did you have to SO_LINGER
@givememoJo
@givememoJo 15 күн бұрын
When I stumbled upon one of your videos couple of months ago i thought that i dont understand anything this weird russian nerd is talking about and closed it. Now i gave this another chance and know i am like i have no idea what this weird russian nerd is saying BUT man you are funny as hell. Also i learned so much new stuff so thank you a lot for your work. Still need to watch the rest hour of the video cause i use it for falling asleep but i promise i will finish it. Also liked and subscribed. Keep it up man - you are amazing!
@nickmoore5105
@nickmoore5105 14 күн бұрын
Perfect falling asleep stream. Interesting enough to distract you from your thoughts. Boring enough not to keep you awake. Consistent tone and volume. Long enough that it doesn’t run out before you fall asleep.
@givememoJo
@givememoJo 14 күн бұрын
@ you and I my friend are on the exact same page. Also his accent has the perfect balance between not being annoying like some random Indian PowerPoint video uploaded 6 years ago with 1510 views but also not too mild for me as a none native speaker to focus too hard on the actual speaking. Really a great mix. With that being said, I will try to fall asleep now
@Tobsson
@Tobsson 20 күн бұрын
That's a brave man setting up ssh keys on stream.
@weekipi5813
@weekipi5813 22 күн бұрын
minute 1:48 read blocks because probably browsers keep a single connection alive for handling multiple requests efficiently. I would like to consider your current implementation of reading the client request. You're implementation suffers from potentially reading parts of the request body while reading and checking the individual chunks for the recurrence of double . You should probably seek and then read like you did last time with websockets
@danehenry895
@danehenry895 22 күн бұрын
Big thanks to you for sharing your knowledge, you've helped me alot along my way!!
@antropod
@antropod 22 күн бұрын
Damn Germans stealing your bytes
@archykun8822
@archykun8822 23 күн бұрын
is there a video where mr zozin explains his setup? I'd be really interested at how he moves in his terminal like an absolute wizard
@enoks-yt
@enoks-yt 19 күн бұрын
He did make a video where het reconfigured Emacs (his text-editor) on his new laptop. He explains all his keybinds and stuff like that. But you could also try to find for dotfiles on his GitHub. Hope this helped you
@ullibao
@ullibao 22 күн бұрын
why does this video pop up only after i passed my network programming exam ;__________; i'm still going to watch it ofc ahah
@anon_y_mousse
@anon_y_mousse 22 күн бұрын
There are instances where sizeof requires parentheses, so for consistency I always use them, but I also think it just looks better to use them anyway. If it were a property of objects in the language, like say foo.sizeof then I'd be fine with not using them, but using it like a function it just looks weird to not use parens. I've never felt the need for a defer in C, and partly that's down to my habit of writing a matched close/dealloc for every open/alloc of a resource right from the start and just inserting new lines of code between them, just like I do for braces, but also because I'd much rather have RAII than defer. Of course, if you really feel it necessary, you could always write your own with macros and helper functions and of course define return as some sort of defer_return. I've got a partially complete implementation with setjmp/longjmp and a static array of callback functions, but it really would be better if it was supported by the compiler, whether it be defer or the superior RAII. To the chatters that said C++ fixed pointers with references, I would say they also broke references by differentiating between r-value and l-value references. I get why they had to, but I feel like that should've been designed differently even if it would break existing code. Your trouble with referring to your own function as start_with versus starts_with makes me think that someone should issue a PR for changing end_with to ends_with in nob. The issue you had with a do/while loop not being able to see a variable that was declared in the inner scope of the loop actually makes sense, and for C that won't change without a potentially breaking change to the standard. For my own language, I chose to leak inner variables if they're used in the header of a loop as long as they don't shadow an outer variable. It gets a bit dicey when you're dealing with iteration in a for loop, but I feel like it was the right choice for a few reasons, not the least of which was clarity where obvious over verbosity. One thing I did notice in this project was that you have an awful lot of append calls when you could just use the standard adjacent string concatenation. Of course it's kind of annoying to have to break up a string in the middle for a formatting operation, but I feel like it'd get rid of a lot of noise in the code if you grouped as many as you can. This is perhaps another reason why I like f-strings, because you don't need a formatting function or a call to sprintf or printf, just stick the variable right in there.
@JamesSjaalman
@JamesSjaalman 23 күн бұрын
"if (errno == EINTR) continue;"
@JamesSjaalman
@JamesSjaalman 23 күн бұрын
You appear to be a frontender ,,, No offence!!!!
@aminehayto7028
@aminehayto7028 24 күн бұрын
I'm at 39:53 Yeah a very cool example, this is really interesting
@Spongman
@Spongman 23 күн бұрын
the bit about HTTP is wrong. HTTP supports sending non-keep-alive responses without chunking and without a Content-Length header. the implied length of the response body is determined purely from the remaining length of the TCP stream. this is so you can stream responses slowly back to the client without having to do chunking. HTTP servers that don't shutdown() their sockets correctly are in error for this reason.
@matimaz2000
@matimaz2000 22 күн бұрын
Actually, as far as I remember, Nix (incl NixOS) uses Linux namespace feature, kind of like Docker does - makes it more secure
@jiulh
@jiulh 23 күн бұрын
i don't know network programming, how did you guess it?
@SaidMetiche-qy9hb
@SaidMetiche-qy9hb 9 күн бұрын
Who needs chatgpt when u have blog posts from 2009
@stefanstefanov00
@stefanstefanov00 22 күн бұрын
Jesus Christ, don't scare me like that with that wallpaper
@cheebadigga4092
@cheebadigga4092 23 күн бұрын
isn't the welcome message thing the same as plain unix sockets? I always have to read the whole thing to clean it up on both client and server to make communication ready maybe I'm stupid tho xD Edit: ah yes, flushing the streams... guess I'm not stupid xD
@ThreiasFB
@ThreiasFB 22 күн бұрын
Wait xd am i reading chat in the captions ?
@controlyourselfok
@controlyourselfok 22 күн бұрын
14:29 i was crying of laughter
@andrewm4894
@andrewm4894 19 күн бұрын
Smooooth 😂
@musicproductionbrauns2594
@musicproductionbrauns2594 19 күн бұрын
i wonder if you could dos by just writing endlessly as a client so the server never closes
@alice-smith
@alice-smith 24 күн бұрын
For one second I thought you were using windows 💀
@mkjyt1
@mkjyt1 23 күн бұрын
lovely haskel tutorial
@mobod6822
@mobod6822 15 күн бұрын
39:36 germany stole mah bytes!
@duke618
@duke618 19 күн бұрын
Masterpiece 👏👏🫰🖕
@Normal_ren
@Normal_ren 14 күн бұрын
write your own sockets!
@LetrixAR
@LetrixAR 23 күн бұрын
"Useless Protocol" lmao
@Golanhast
@Golanhast 21 күн бұрын
I think I will stick to making my own protocol with UDP as I intended to. It's easier for me
@hubstrangers3450
@hubstrangers3450 22 күн бұрын
Thank you....
@thundreturtle
@thundreturtle 21 күн бұрын
making changes in production, standard it procedure move along nothing to see here
@hjxkyw
@hjxkyw 16 күн бұрын
I didn't watch the whole video (2:20 ? wtf ? I have a life to live), but in my experience of some decades programming TCP (I still do it today), shutdown is generally not required before a close ... I *never* use shutdown before a close also, applications need to implement their own protocol over TCP, to better avoid losing data and one more thing: most people *don't* understand SO_LINGER, and use it to avoid losing data, tough it makes losing data more likely!
@User948Z7Z-w7n
@User948Z7Z-w7n 23 күн бұрын
Yet another banger!!
@thewelder3538
@thewelder3538 10 күн бұрын
Just watching this guy code, along with some of the things he's doing, it's immediately apparent to me why Linux coders write code that's riddled with buffer overflows and memory leaks. I've not watched all of this video, but I can almost guarantee than he'll be doing some printf debugging too. Hehehehehe.
@FocusAccount-iv5xe
@FocusAccount-iv5xe 23 күн бұрын
Engaging
@xpamamadeus
@xpamamadeus 24 күн бұрын
last time u used nodejs for testing autobahn,i would suggest to do same with go coder implementation of ws wich pass 100%.
@xkillfilm
@xkillfilm 23 күн бұрын
I think WG traffic is also shaped, at least switching to AmneziaWG helped me.
@infastin3795
@infastin3795 23 күн бұрын
Yes, Wireguard traffic is very easy to detect.
@steelrazor4782
@steelrazor4782 22 күн бұрын
using close on a full duplex socket is def a skill issue. But understandable for sure
@random2huplayer274
@random2huplayer274 23 күн бұрын
I discovered this a month ago or so, and that was a long debugging session, so to say)
@nescafezos4265
@nescafezos4265 19 күн бұрын
kinda sad such most frequently used things implemented in a weird unintuitive way and are not being fixed for years
@mashtonish
@mashtonish 23 күн бұрын
you don't know me. yet I don't see you clicking a video about it.
@orderandchaos_at_work
@orderandchaos_at_work 23 күн бұрын
bert who bert
@nexovec
@nexovec 16 күн бұрын
Alexey interested in people's socks... eww
@LALO-cv4ck
@LALO-cv4ck 20 күн бұрын
xfce ahh wallpaper
@Borodinskyy
@Borodinskyy 23 күн бұрын
Correct
@alvinxyz7419
@alvinxyz7419 12 күн бұрын
we need TCP to handle TCP
@mxjeonsgw
@mxjeonsgw 24 күн бұрын
1:08:46 hewwo bigarditech! :D
@ATAG-yn5pd
@ATAG-yn5pd 21 күн бұрын
SENDFILE(2) FreeBSD System Calls Manual SENDFILE(2) NAME sendfile - send a file to a socket ... (splice() doesn't exist) =)
@Teo97b
@Teo97b 13 күн бұрын
I do. I made my own NIC driver. Just kidding
@doodocina
@doodocina 23 күн бұрын
39:37 german fraud æstetic 😂
@RustIsWinning
@RustIsWinning 24 күн бұрын
YourMama doesn't know network programming
@arkeynserhayn8370
@arkeynserhayn8370 24 күн бұрын
So you turned out to be femboy? Its OK, come to us, join us, we C users have a lot of your brethren at our side You can come too 😉
@anon_y_mousse
@anon_y_mousse 22 күн бұрын
@@arkeynserhayn8370 That's what she said!
@arkeynserhayn8370
@arkeynserhayn8370 22 күн бұрын
​@@anon_y_mousse Hiss 🤫 I am trying to get social over here, lemme try 😆
@RustIsWinning
@RustIsWinning 21 күн бұрын
​@@arkeynserhayn8370I made a big big mistake... where can I confess?
@tofaa3668
@tofaa3668 24 күн бұрын
Tsoding thinks hes primeagen with the article read streams
@vladimirprokhorov4805
@vladimirprokhorov4805 23 күн бұрын
31:30 Wow you mentioned the 3-letter-thing-that-must-not-be-named, now you are going to JAIL
@azharalibhutto1209
@azharalibhutto1209 23 күн бұрын
Great ❤❤❤
@__noob__coder__
@__noob__coder__ 24 күн бұрын
First
@xamxegen
@xamxegen 20 күн бұрын
国外youtuber就是这样录视频的?一点事前准备都没有,没用的东西也不剪掉?awful. To put it rudely, don't shit on the Internet with such a sensational title that has little relevance to the video content itself.
@MrFujinko
@MrFujinko 20 күн бұрын
Well he is free to upload and idiots are free to waste their time watching. I myself think this format is very bad and ineficient.
@Zeldex72
@Zeldex72 18 күн бұрын
1. Seems to be a stream recording 2. I find the “lack of preparation” helpful. You see the thought process. 3. It’s a video, you can skip around all you want :P
@xamxegen
@xamxegen 16 күн бұрын
@@MrFujinko you are partly right. But as a content creator, at least it is necessary to make their works not so low in information density.
@xamxegen
@xamxegen 16 күн бұрын
@@Zeldex72 1. if so, my bad. 2. you are welcomed to raise your opinion 3. I prefer just giving up watching such videos. 4. My opinion, as a content creator, at least it is necessary for him to make his works not so low in information density.
@default-writer
@default-writer 21 күн бұрын
best moment of the stream: kzbin.info/www/bejne/gIO3fYaufMuSbNk
Creator of C3 improves the Lang Live as I use it
2:50:11
Tsoding Daily
Рет қаралды 32 М.
"Идеальное" преступление
0:39
Кик Брейнс
Рет қаралды 1,4 МЛН
SLIDE #shortssprintbrasil
0:31
Natan por Aí
Рет қаралды 49 МЛН
I tried React and it Ruined My Life
1:19:10
Tsoding Daily
Рет қаралды 157 М.
I made Futures from scratch
1:56:09
Tsoding Daily
Рет қаралды 30 М.
I built a real HTTP sever in ARM assembly in under 200 lines
22:34
Terminal Family Feud
1:36:03
ThePrimeTime
Рет қаралды 92 М.
I tried Swift and came out a different person
1:56:59
Tsoding Daily
Рет қаралды 127 М.
Keynote: Advent of Code, Behind the Scenes - Eric Wastl
46:01
The Return of Procedural Programming - Richard Feldman
52:53
ChariotSolutions
Рет қаралды 53 М.
They made Python in Python
1:36:25
Tsoding Daily
Рет қаралды 45 М.
Coding a Bouncy Ball Simulation in C
1:54:46
HirschDaniel
Рет қаралды 41 М.
How a Microcontroller starts
28:49
Artful Bytes
Рет қаралды 66 М.