There are two hard problems in computer science: naming things, cache invalidation, and off by one errors.
There are two hard problems in computer science: naming things, cache invalidation, and off by one errors.
"Hi, I’d like to hear a TCP joke."
"Hello, would you like to hear a TCP joke?"
"Yes, I’d like to hear a TCP joke."
"OK, I’ll tell you a TCP joke."
"Ok, I will hear a TCP joke."
"Are you ready to hear a TCP joke?"
"Yes, I am ready to hear a TCP joke."
"Ok, I am about to send the TCP joke. It will last 10 seconds, it has two characters, it does not have a setting, it ends with a punchline."
"Ok, I am ready to get your TCP joke that will last 10 seconds, has two characters, does not have an explicit setting, and ends with a punchline."
"I’m sorry, your connection has timed out. Hello, would you like to hear a TCP joke?"
https://www.reddit.com/r/Jokes/comments/2ezdl1/i_told_my_fri...
> C: I would like to tell a joke
> S: You may tell a joke
> C: We are now exchanging the joke
> C: "Knock knock ..."
> What joke?
I don't care if you get it.
So the joke is a play on words. "You may not get it, the udp packet" (because that is how UDP works by design) and "you may not get it, the joke" (due to being unfamiliar with UDP).
Of course, I might be spoiling the point someone else is making by not posting the joke.
"I've got a UDP joke for you. You might not get it... but I don't care.".
I hope it doesn’t seem supporting the HN guidelines is, against fun or anything. I think it’d be great to hear at some social get-together or even as part of a tech talk.
One problem with it here is as you can see are long cascading joke reply comments which make it hard for interesting comments to be seen.
Some commenters can't tell the difference: they think so lowly of their fellow commenters that even one joke is cancer. Quite a silly condescension given that this one "joke" thread is buried towards the middle of the page and is also producing interesting links like https://en.wikipedia.org/wiki/Naming_and_Necessity
HN provides a solution for the long cascading joke thread. To the right of every comment is a [-] link which collapses the entire thread.
Have you watched The Marvelous Mrs. Maisel? I recommend it. There are so many scenes where she or another comedian just bombs. That is part of the life of a comedian, and learning from when you bombed is how you get better at your craft.
Regarding the off by one joke, personally I find it insightful and relevant to the life of a software engineer. Doesn't it get you thinking about all the ways an off by one error can sneak into your code?
Consider your everyday ruler or tape measure. What is the first whole number you see on it? 1, of course. But the ruler doesn't actually start at 1. It starts at 0.
Or consider a graphic system where you describe the coordinates of a rectangle. You may describe these as (left,top)-(right,bottom), or in other words (x1,y1)-(x2,y2).
Now how do you describe a single pixel? Is it (0,0)-(0,0)? That kind of makes sense. Or should you use (0,0)-(1,1) for a single pixel, and (0,0)-(0,0) is an empty rectangle?
These are not easy questions to answer. One of the best explanations I've seen was in Inside Macintosh, written by my friend Caroline Rose.
Here is a discussion with Guido's and Caroline's thoughts on zeroes and ones:
https://news.ycombinator.com/item?id=6602497
Let me leave you with an Amicus Curiae brief filed before the US Supreme Court:
https://www.supremecourt.gov/DocketPDF/22/22-293/242596/2022... [PDF]
The brief begins:
> The Onion is the world’s leading news publication, offering highly acclaimed, universally revered coverage of breaking national, international, and local news events. Rising from its humble beginnings as a print newspaper in 1756, The Onion now enjoys a daily readership of 4.3 trillion and has grown into the single most powerful and influential organization in human history.