15 year old blog posts are the backbone of the programming industry
@lukmauu23 күн бұрын
Bigger true was never said
@isuckatthisgame23 күн бұрын
IT industry peaked in 2005
@default-writer21 күн бұрын
@@isuckatthisgame i do not think it peaked in 2005. moreover, i think it does not actually existed by the way.
@pajeetsingh21 күн бұрын
Big talk.
@hyperthreaded19 күн бұрын
💀
@Momoyon24 күн бұрын
Yes mr zozin, i don't know much networking programming so im here to learn from mr zozin
@KybaLioN6624 күн бұрын
💩💩💩💩💩💩
@reticuli431424 күн бұрын
Mr. Zozin pinging Mars via Germany while sitting in a chineese space station.
@SlinkyD24 күн бұрын
TCP is ¾ duplex. Thanks for showing something I rage quit from while learning programming because knowledgeable devs didn't think it was possible.
@eltonzip24 күн бұрын
Первые секунды видео - величайший пранк в истории канала
@eduardojesus252223 күн бұрын
DA!
@jahjahhhh24 күн бұрын
That wallpaper got me good you troll
@lassipulkkinen27324 күн бұрын
Minecraft Java Edition actually has this bug. I reported it (MC-270155), and they closed it as Won't Fix.
@hoyoreverse24 күн бұрын
@@lassipulkkinen273 typical java soy devs
@BlueIsLeet18 күн бұрын
@@hoyoreverse Java rules the world
@hoyoreverse18 күн бұрын
@@BlueIsLeet only if the world is full of dummies (or is it?)
@BlueIsLeet18 күн бұрын
@@hoyoreverse I guess if you use Android you're a dummy
@leifmessinger24 күн бұрын
Article reading stream? What are you, ThePrimagen?
@vovagusse23 күн бұрын
The name is not theprimeagen
@azatto723 күн бұрын
TheZozin
@JesusGonzalezCaraveo-o6e21 күн бұрын
-agen!
@errelin132624 күн бұрын
Just learn a little about networking programming last semester and this series videos on web socket are way more interesting than my lectures ❤
@thebirdhasbeencharged18 күн бұрын
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
@grenadier470222 күн бұрын
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?
@mehmeh888319 күн бұрын
Love how the twitch chat is in subtitles
@kamildoan24 күн бұрын
Dude when will you start operating system development series. We need that cure
@TheFuzzyTomcat18 күн бұрын
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.
@wtfenc0reenix17 күн бұрын
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
@dnkreative22 күн бұрын
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-sn7li15 күн бұрын
It's literally saying that data has been SENT. Not received.
@GoldoEb24 күн бұрын
Germans steal your bytes!
@RSTrigger00323 күн бұрын
They have a lot of 'a's now!
@forKotlinsky23 күн бұрын
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!
@hoyoreverse24 күн бұрын
People keep forgetting to flush the streams after them.
@cheebadigga409223 күн бұрын
that reassures me thank you
@hugo907822 күн бұрын
what does it actually change?
@User948Z7Z-w7n22 күн бұрын
Flush means read all the remaining bytes in the buffer. Always flush before close.
@hoyoreverse22 күн бұрын
@@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
@hugo907821 күн бұрын
@@User948Z7Z-w7n got it, thank you!
@razac_zr14 күн бұрын
OP not knowing how many years between 2009 and 2006 shows you don't need to know much math to be a good SE
@rubayethkamal21023 күн бұрын
Could someone tell me how he is finding the man pages for the functions and definitions in the C library ?
@diamondtulip618623 күн бұрын
it's section 3 of unix manual pages `> man -S3 printf`
@BlakeneySmith23 күн бұрын
they're not installed by default on some distributions. on Ubuntu for example, you need to install `manpages-dev` and `manpages-posix`
@Speedster-c5h24 күн бұрын
New lore just dropped
@victordvickie24 күн бұрын
My favourite yapper streamer
@AxelThorA23 күн бұрын
Thanks for another amazing vid amistah zozin
@AlexanderDemin19 күн бұрын
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.
@TsodingDaily19 күн бұрын
Worked in outsource for American and European companies in the past.
@user-hk3ej4hk7m11 күн бұрын
the way sockaddr is handled is a pain in the ass the first time you learn how to use sockets.
@Kknewkles24 күн бұрын
Oh! The end screen's been back since the last one, awesome :D
@tapf38024 күн бұрын
8:35 "I think I even know the person..." *Literally types gibberish in hexadecimal from memory wtf man
@kasozirogers794423 күн бұрын
I came looking for this comment
@salim44423 күн бұрын
0xc0ff3
@CorrectMyGrammarPls23 күн бұрын
Its "deadfood" written with numbers to be valid hex
@aarorissanen93023 күн бұрын
Another self report
@dfc611721 күн бұрын
and the whole drama is that we do not even need to know to keep grinding
@UnrealCatDev23 күн бұрын
Does the same apply for that bad video game os (Windows)?
@JohnKouts23 күн бұрын
Tsoding we love you! We need merch!
@User948Z7Z-w7n22 күн бұрын
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
@TasosDaris24 күн бұрын
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.
@maclaurinrocha288118 күн бұрын
without a shadow of a doubt you are amazing, thank you so much for sharing this amazing knowledge
@kapustinalexander84823 күн бұрын
Do you really need to create `sql` transaction in your request handler for read operations?
@activelow929716 күн бұрын
Did you have to SO_LINGER... did you have to.. did you have to.. did you have to SO_LINGER
@givememoJo15 күн бұрын
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!
@nickmoore510514 күн бұрын
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.
@givememoJo14 күн бұрын
@ 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
@Tobsson20 күн бұрын
That's a brave man setting up ssh keys on stream.
@weekipi581322 күн бұрын
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
@danehenry89522 күн бұрын
Big thanks to you for sharing your knowledge, you've helped me alot along my way!!
@antropod22 күн бұрын
Damn Germans stealing your bytes
@archykun882223 күн бұрын
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-yt19 күн бұрын
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
@ullibao22 күн бұрын
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_mousse22 күн бұрын
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.
@JamesSjaalman23 күн бұрын
"if (errno == EINTR) continue;"
@JamesSjaalman23 күн бұрын
You appear to be a frontender ,,, No offence!!!!
@aminehayto702824 күн бұрын
I'm at 39:53 Yeah a very cool example, this is really interesting
@Spongman23 күн бұрын
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.
@matimaz200022 күн бұрын
Actually, as far as I remember, Nix (incl NixOS) uses Linux namespace feature, kind of like Docker does - makes it more secure
@jiulh23 күн бұрын
i don't know network programming, how did you guess it?
@SaidMetiche-qy9hb9 күн бұрын
Who needs chatgpt when u have blog posts from 2009
@stefanstefanov0022 күн бұрын
Jesus Christ, don't scare me like that with that wallpaper
@cheebadigga409223 күн бұрын
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
@ThreiasFB22 күн бұрын
Wait xd am i reading chat in the captions ?
@controlyourselfok22 күн бұрын
14:29 i was crying of laughter
@andrewm489419 күн бұрын
Smooooth 😂
@musicproductionbrauns259419 күн бұрын
i wonder if you could dos by just writing endlessly as a client so the server never closes
@alice-smith24 күн бұрын
For one second I thought you were using windows 💀
@mkjyt123 күн бұрын
lovely haskel tutorial
@mobod682215 күн бұрын
39:36 germany stole mah bytes!
@duke61819 күн бұрын
Masterpiece 👏👏🫰🖕
@Normal_ren14 күн бұрын
write your own sockets!
@LetrixAR23 күн бұрын
"Useless Protocol" lmao
@Golanhast21 күн бұрын
I think I will stick to making my own protocol with UDP as I intended to. It's easier for me
@hubstrangers345022 күн бұрын
Thank you....
@thundreturtle21 күн бұрын
making changes in production, standard it procedure move along nothing to see here
@hjxkyw16 күн бұрын
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-w7n23 күн бұрын
Yet another banger!!
@thewelder353810 күн бұрын
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-iv5xe23 күн бұрын
Engaging
@xpamamadeus24 күн бұрын
last time u used nodejs for testing autobahn,i would suggest to do same with go coder implementation of ws wich pass 100%.
@xkillfilm23 күн бұрын
I think WG traffic is also shaped, at least switching to AmneziaWG helped me.
@infastin379523 күн бұрын
Yes, Wireguard traffic is very easy to detect.
@steelrazor478222 күн бұрын
using close on a full duplex socket is def a skill issue. But understandable for sure
@random2huplayer27423 күн бұрын
I discovered this a month ago or so, and that was a long debugging session, so to say)
@nescafezos426519 күн бұрын
kinda sad such most frequently used things implemented in a weird unintuitive way and are not being fixed for years
@mashtonish23 күн бұрын
you don't know me. yet I don't see you clicking a video about it.
@orderandchaos_at_work23 күн бұрын
bert who bert
@nexovec16 күн бұрын
Alexey interested in people's socks... eww
@LALO-cv4ck20 күн бұрын
xfce ahh wallpaper
@Borodinskyy23 күн бұрын
Correct
@alvinxyz741912 күн бұрын
we need TCP to handle TCP
@mxjeonsgw24 күн бұрын
1:08:46 hewwo bigarditech! :D
@ATAG-yn5pd21 күн бұрын
SENDFILE(2) FreeBSD System Calls Manual SENDFILE(2) NAME sendfile - send a file to a socket ... (splice() doesn't exist) =)
@Teo97b13 күн бұрын
I do. I made my own NIC driver. Just kidding
@doodocina23 күн бұрын
39:37 german fraud æstetic 😂
@RustIsWinning24 күн бұрын
YourMama doesn't know network programming
@arkeynserhayn837024 күн бұрын
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_mousse22 күн бұрын
@@arkeynserhayn8370 That's what she said!
@arkeynserhayn837022 күн бұрын
@@anon_y_mousse Hiss 🤫 I am trying to get social over here, lemme try 😆
@RustIsWinning21 күн бұрын
@@arkeynserhayn8370I made a big big mistake... where can I confess?
@tofaa366824 күн бұрын
Tsoding thinks hes primeagen with the article read streams
@vladimirprokhorov480523 күн бұрын
31:30 Wow you mentioned the 3-letter-thing-that-must-not-be-named, now you are going to JAIL
@azharalibhutto120923 күн бұрын
Great ❤❤❤
@__noob__coder__24 күн бұрын
First
@xamxegen20 күн бұрын
国外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.
@MrFujinko20 күн бұрын
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.
@Zeldex7218 күн бұрын
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
@xamxegen16 күн бұрын
@@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.
@xamxegen16 күн бұрын
@@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-writer21 күн бұрын
best moment of the stream: kzbin.info/www/bejne/gIO3fYaufMuSbNk