You Don't Know Network Programming

  Рет қаралды 49,636

Tsoding Daily

Tsoding Daily

Күн бұрын

Пікірлер: 141
@bigmiraclewhips
@bigmiraclewhips 9 күн бұрын
15 year old blog posts are the backbone of the programming industry
@lukmauu
@lukmauu 8 күн бұрын
Bigger true was never said
@isuckatthisgame
@isuckatthisgame 8 күн бұрын
IT industry peaked in 2005
@default-writer
@default-writer 6 күн бұрын
@@isuckatthisgame i do not think it peaked in 2005. moreover, i think it does not actually existed by the way.
@pajeetsingh
@pajeetsingh 6 күн бұрын
Big talk.
@hyperthreaded
@hyperthreaded 5 күн бұрын
💀
@Momoyon
@Momoyon 9 күн бұрын
Yes mr zozin, i don't know much networking programming so im here to learn from mr zozin
@KybaLioN66
@KybaLioN66 9 күн бұрын
💩💩💩💩💩💩
@SlinkyD
@SlinkyD 9 күн бұрын
TCP is ¾ duplex. Thanks for showing something I rage quit from while learning programming because knowledgeable devs didn't think it was possible.
@reticuli4314
@reticuli4314 9 күн бұрын
Mr. Zozin pinging Mars via Germany while sitting in a chineese space station.
@jahjahhhh
@jahjahhhh 9 күн бұрын
That wallpaper got me good you troll
@errelin1326
@errelin1326 9 күн бұрын
Just learn a little about networking programming last semester and this series videos on web socket are way more interesting than my lectures ❤
@eltonzip
@eltonzip 9 күн бұрын
Первые секунды видео - величайший пранк в истории канала
@eduardojesus2522
@eduardojesus2522 9 күн бұрын
DA!
@givememoJo
@givememoJo 18 сағат бұрын
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 4 сағат бұрын
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 Сағат бұрын
@ 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
@lassipulkkinen273
@lassipulkkinen273 9 күн бұрын
Minecraft Java Edition actually has this bug. I reported it (MC-270155), and they closed it as Won't Fix.
@hoyoreverse
@hoyoreverse 9 күн бұрын
@@lassipulkkinen273 typical java soy devs
@BlueIsLeet
@BlueIsLeet 4 күн бұрын
@@hoyoreverse Java rules the world
@hoyoreverse
@hoyoreverse 4 күн бұрын
@@BlueIsLeet only if the world is full of dummies (or is it?)
@BlueIsLeet
@BlueIsLeet 3 күн бұрын
@@hoyoreverse I guess if you use Android you're a dummy
@thebirdhasbeencharged
@thebirdhasbeencharged 3 күн бұрын
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 7 күн бұрын
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?
@leifmessinger
@leifmessinger 9 күн бұрын
Article reading stream? What are you, ThePrimagen?
@vovagusse
@vovagusse 9 күн бұрын
The name is not theprimeagen
@claireelstein2562
@claireelstein2562 8 күн бұрын
TheZozin
@JesusGonzalezCaraveo-o6e
@JesusGonzalezCaraveo-o6e 6 күн бұрын
-agen!
@GoldoEb
@GoldoEb 9 күн бұрын
Germans steal your bytes!
@RSTrigger003
@RSTrigger003 9 күн бұрын
They have a lot of 'a's now!
@mehmeh8883
@mehmeh8883 4 күн бұрын
Love how the twitch chat is in subtitles
@kamildoan
@kamildoan 9 күн бұрын
Dude when will you start operating system development series. We need that cure
@forKotlinsky
@forKotlinsky 9 күн бұрын
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!
@victordvickie
@victordvickie 9 күн бұрын
My favourite yapper streamer
@tapf380
@tapf380 9 күн бұрын
8:35 "I think I even know the person..." *Literally types gibberish in hexadecimal from memory wtf man
@kasozirogers7944
@kasozirogers7944 9 күн бұрын
I came looking for this comment
@salim444
@salim444 9 күн бұрын
0xc0ff3
@CorrectMyGrammarPls
@CorrectMyGrammarPls 9 күн бұрын
Its "deadfood" written with numbers to be valid hex
@aarorissanen930
@aarorissanen930 8 күн бұрын
Another self report
@hoyoreverse
@hoyoreverse 9 күн бұрын
People keep forgetting to flush the streams after them.
@cheebadigga4092
@cheebadigga4092 9 күн бұрын
that reassures me thank you
@hugo9078
@hugo9078 7 күн бұрын
what does it actually change?
@User948Z7Z-w7n
@User948Z7Z-w7n 7 күн бұрын
Flush means read all the remaining bytes in the buffer. Always flush before close.
@hoyoreverse
@hoyoreverse 7 күн бұрын
@@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 7 күн бұрын
@@User948Z7Z-w7n got it, thank you!
@AxelThorA
@AxelThorA 9 күн бұрын
Thanks for another amazing vid amistah zozin
@Speedster-c5h
@Speedster-c5h 9 күн бұрын
New lore just dropped
@User948Z7Z-w7n
@User948Z7Z-w7n 7 күн бұрын
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
@TheFuzzyTomcat
@TheFuzzyTomcat 4 күн бұрын
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.
@antropod
@antropod 8 күн бұрын
Damn Germans stealing your bytes
@maclaurinrocha2881
@maclaurinrocha2881 3 күн бұрын
without a shadow of a doubt you are amazing, thank you so much for sharing this amazing knowledge
@activelow9297
@activelow9297 Күн бұрын
Did you have to SO_LINGER... did you have to.. did you have to.. did you have to SO_LINGER
@aminehayto7028
@aminehayto7028 9 күн бұрын
I'm at 39:53 Yeah a very cool example, this is really interesting
@dnkreative
@dnkreative 7 күн бұрын
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 17 сағат бұрын
It's literally saying that data has been SENT. Not received.
@weekipi5813
@weekipi5813 7 күн бұрын
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
@alh-xj6gt
@alh-xj6gt 4 күн бұрын
At the 90 minute mark on C. I don't like it either but it is simple and it is ported to everywhere. We could ditch it for FASM but my brain is too smol for fasm I need type checking and a compiler to hold my hand. I'm amazed seeing what people manage to make in assembler like KolibriOS and MenuetOS. The templating simplicity. Everything escaped and powerful as good old C is just usable. I guess if '%' is needed it need escaping? Need to watch the tore vid. This is just again such a nice show of "more with less" what a flex. such awesome much inspiring.
@TasosDaris
@TasosDaris 9 күн бұрын
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.
@Kknewkles
@Kknewkles 9 күн бұрын
Oh! The end screen's been back since the last one, awesome :D
@AlexanderDemin
@AlexanderDemin 4 күн бұрын
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 4 күн бұрын
Worked in outsource for American and European companies in the past.
@danehenry895
@danehenry895 8 күн бұрын
Big thanks to you for sharing your knowledge, you've helped me alot along my way!!
@JohnKouts
@JohnKouts 9 күн бұрын
Tsoding we love you! We need merch!
@dfc6117
@dfc6117 6 күн бұрын
and the whole drama is that we do not even need to know to keep grinding
@hjxkyw
@hjxkyw Күн бұрын
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!
@JamesSjaalman
@JamesSjaalman 9 күн бұрын
"if (errno == EINTR) continue;"
@JamesSjaalman
@JamesSjaalman 9 күн бұрын
You appear to be a frontender ,,, No offence!!!!
@anon_y_mousse
@anon_y_mousse 7 күн бұрын
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.
@vladimirprokhorov4805
@vladimirprokhorov4805 8 күн бұрын
31:30 Wow you mentioned the 3-letter-thing-that-must-not-be-named, now you are going to JAIL
@rubayethkamal210
@rubayethkamal210 8 күн бұрын
Could someone tell me how he is finding the man pages for the functions and definitions in the C library ?
@diamondtulip6186
@diamondtulip6186 8 күн бұрын
it's section 3 of unix manual pages `> man -S3 printf`
@BlakeneySmith
@BlakeneySmith 8 күн бұрын
they're not installed by default on some distributions. on Ubuntu for example, you need to install `manpages-dev` and `manpages-posix`
@Tobsson
@Tobsson 6 күн бұрын
That's a brave man setting up ssh keys on stream.
@matimaz2000
@matimaz2000 7 күн бұрын
Actually, as far as I remember, Nix (incl NixOS) uses Linux namespace feature, kind of like Docker does - makes it more secure
@stefanstefanov00
@stefanstefanov00 7 күн бұрын
Jesus Christ, don't scare me like that with that wallpaper
@Spongman
@Spongman 9 күн бұрын
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.
@UnrealCatDev
@UnrealCatDev 9 күн бұрын
Does the same apply for that bad video game os (Windows)?
@ullibao
@ullibao 8 күн бұрын
why does this video pop up only after i passed my network programming exam ;__________; i'm still going to watch it ofc ahah
@controlyourselfok
@controlyourselfok 7 күн бұрын
14:29 i was crying of laughter
@andrewm4894
@andrewm4894 5 күн бұрын
Smooooth 😂
@wtfenc0reenix
@wtfenc0reenix 2 күн бұрын
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
@alice-smith
@alice-smith 9 күн бұрын
For one second I thought you were using windows 💀
@LetrixAR
@LetrixAR 9 күн бұрын
"Useless Protocol" lmao
@Golanhast
@Golanhast 6 күн бұрын
I think I will stick to making my own protocol with UDP as I intended to. It's easier for me
@mobod6822
@mobod6822 13 сағат бұрын
39:36 germany stole mah bytes!
@duke618
@duke618 4 күн бұрын
Masterpiece 👏👏🫰🖕
@User948Z7Z-w7n
@User948Z7Z-w7n 8 күн бұрын
Yet another banger!!
@kapustinalexander848
@kapustinalexander848 9 күн бұрын
Do you really need to create `sql` transaction in your request handler for read operations?
@mkjyt1
@mkjyt1 8 күн бұрын
lovely haskel tutorial
@archykun8822
@archykun8822 8 күн бұрын
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
@_nymvp
@_nymvp 5 күн бұрын
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
@Normal_ren
@Normal_ren 4 сағат бұрын
write your own sockets!
@thundreturtle
@thundreturtle 7 күн бұрын
making changes in production, standard it procedure move along nothing to see here
@mashtonish
@mashtonish 9 күн бұрын
you don't know me. yet I don't see you clicking a video about it.
@cheebadigga4092
@cheebadigga4092 9 күн бұрын
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
@xpamamadeus
@xpamamadeus 9 күн бұрын
last time u used nodejs for testing autobahn,i would suggest to do same with go coder implementation of ws wich pass 100%.
@steelrazor4782
@steelrazor4782 7 күн бұрын
using close on a full duplex socket is def a skill issue. But understandable for sure
@nexovec
@nexovec Күн бұрын
Alexey interested in people's socks... eww
@xkillfilm
@xkillfilm 8 күн бұрын
I think WG traffic is also shaped, at least switching to AmneziaWG helped me.
@infastin3795
@infastin3795 8 күн бұрын
Yes, Wireguard traffic is very easy to detect.
@hubstrangers3450
@hubstrangers3450 7 күн бұрын
Thank you....
@nescafezos4265
@nescafezos4265 4 күн бұрын
kinda sad such most frequently used things implemented in a weird unintuitive way and are not being fixed for years
@random2huplayer274
@random2huplayer274 8 күн бұрын
I discovered this a month ago or so, and that was a long debugging session, so to say)
@jiulh
@jiulh 8 күн бұрын
i don't know network programming, how did you guess it?
@FocusAccount-iv5xe
@FocusAccount-iv5xe 9 күн бұрын
Engaging
@ATAG-yn5pd
@ATAG-yn5pd 6 күн бұрын
SENDFILE(2) FreeBSD System Calls Manual SENDFILE(2) NAME sendfile - send a file to a socket ... (splice() doesn't exist) =)
@ThreiasFB
@ThreiasFB 7 күн бұрын
Wait xd am i reading chat in the captions ?
@orderandchaos_at_work
@orderandchaos_at_work 8 күн бұрын
bert who bert
@musicproductionbrauns2594
@musicproductionbrauns2594 5 күн бұрын
i wonder if you could dos by just writing endlessly as a client so the server never closes
@LALO-cv4ck
@LALO-cv4ck 5 күн бұрын
xfce ahh wallpaper
@mxjeonsgw
@mxjeonsgw 9 күн бұрын
1:08:46 hewwo bigarditech! :D
@doodocina
@doodocina 8 күн бұрын
39:37 german fraud æstetic 😂
@tofaa3668
@tofaa3668 9 күн бұрын
Tsoding thinks hes primeagen with the article read streams
@Borodinskyy
@Borodinskyy 8 күн бұрын
Correct
@RustIsWinning
@RustIsWinning 9 күн бұрын
YourMama doesn't know network programming
@arkeynserhayn8370
@arkeynserhayn8370 9 күн бұрын
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 7 күн бұрын
@@arkeynserhayn8370 That's what she said!
@arkeynserhayn8370
@arkeynserhayn8370 7 күн бұрын
​@@anon_y_mousse Hiss 🤫 I am trying to get social over here, lemme try 😆
@RustIsWinning
@RustIsWinning 6 күн бұрын
​@@arkeynserhayn8370I made a big big mistake... where can I confess?
@azharalibhutto1209
@azharalibhutto1209 8 күн бұрын
Great ❤❤❤
@__noob__coder__
@__noob__coder__ 9 күн бұрын
First
@xamxegen
@xamxegen 5 күн бұрын
国外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 5 күн бұрын
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 3 күн бұрын
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 Күн бұрын
@@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 Күн бұрын
@@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 6 күн бұрын
best moment of the stream: kzbin.info/www/bejne/gIO3fYaufMuSbNk
Is Jai Ready for Production?
3:28:12
Tsoding Daily
Рет қаралды 23 М.
The Return of Procedural Programming - Richard Feldman
52:53
ChariotSolutions
Рет қаралды 34 М.
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 65 МЛН
How many people are in the changing room? #devil #lilith #funny #shorts
00:39
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 13 МЛН
Is SDL3 Ready For Production?
1:37:32
Tsoding Daily
Рет қаралды 24 М.
the 7zip rabbit hole goes extremely deep. (1000's of crashes)
12:50
WebSocket Protocol is Bonkers!!
3:17:59
Tsoding Daily
Рет қаралды 26 М.
(Neo)Vim Made Me a Better Software Developer
40:27
vim-jp
Рет қаралды 31 М.
I tried Swift and came out a different person
1:56:59
Tsoding Daily
Рет қаралды 124 М.
Why Can't We Make Simple Software? - Peter van Hardenberg
41:34
Handmade Cities
Рет қаралды 133 М.
Coding Adventure: Rendering Fluids
58:41
Sebastian Lague
Рет қаралды 410 М.
AI Meets Quantum: New Google Breakthrough Will Change Everything
15:50
Anastasi In Tech
Рет қаралды 111 М.
IPC: To Share Memory Or To Send Messages
14:15
Core Dumped
Рет қаралды 94 М.
Creating a window - Software from Scratch
1:04:12
Muukid
Рет қаралды 156 М.
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 65 МЛН