I wish Larry hadn't written that...
Oh, Larry, Larry, Larry...
Articles 1 and 2 were great - really necessary reading to a lot of would-be network programmers.
But article 3... where to start with the corrections?
I'm not going to. It's an article you shouldn't read, because you're not going to use the right terms for the right things, and when you go asking for help from networking experts, they'll look at you in much the same way as security experts look at Steve Gibson. [The look is "how the hell do you get anything done, knowing so little about the field?"]
I've met Larry, and he's a nice guy, so I really thought twice about making this post - and I apologise if I hurt Larry's feelings by saying it... but I have been on a fifteen-year march to persuade people to stop writing crap networking apps, by getting them to understand what they're doing, and I can't stop now.
At the risk of opening myself up to abuse similar to that which I'm heaping on Larry now, I'll point you to my earlier article, where I describe the interaction between delayed ACKs and Nagle - it's much, much simpler than Larry stated, and I think I've got it more accurately described.
Finally, in the case that perhaps I don't have it correct, I'm going to retro-edit it if mistakes are pointed out, because the worst thing you can do is have someone search for the answer, and the first text they come back with is wrong.