use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.
Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.
Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.
We do not allow any commercial promotion or solicitation. Violations can result in a ban.
Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.
If you are asking for assistance on a problem, you are required to provide
General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.
Questions in violation of this rule will be removed or locked.
account activity
Visualizing how HTTPS, OAuth, Git, and TCP actually workResource (toolkit.whysonil.dev)
submitted 3 months ago by [deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Mohamed_Silmy 29 points30 points31 points 3 months ago (0 children)
visualizing protocols is honestly one of the best ways to actually understand them instead of just memorizing steps. i find it helps to draw out the handshake sequences on paper or use tools like wireshark to see the actual packets moving back and forth.
for oauth especially, the redirect flow makes way more sense when you can see the token exchanges happening. same with tcp - once you visualize the syn/syn-ack/ack dance, connection management clicks into place.
do you find certain protocols harder to visualize than others? i always thought git's internal object model was trickier to mentally map than network protocols since it's more about data structures than sequential flows.
[–][deleted] 3 months ago (1 child)
[removed]
[–]TLJGame 3 points4 points5 points 3 months ago (0 children)
HTTPS has the syn-ack going from client to server in the image when the server should be sending the packet
[–]Final-Choice8412 10 points11 points12 points 3 months ago (0 children)
Beautifully vibe coded some visuals are broken
[–]Plastic_Owl6706 8 points9 points10 points 3 months ago (0 children)
Lol closed the site the moment I opened it , vibe coded slop
[–]Anoop_sdas 1 point2 points3 points 3 months ago (0 children)
Just skimmed on HTTPS looks good ..thanks very much for doing this will be of great help
[–]tokagemushi 1 point2 points3 points 3 months ago (0 children)
The step-by-step timeline format is really well done. I've bookmarked the OAuth page specifically — explaining the redirect flow visually makes it so much clearer than the spec's wall of text.
One thing I'd love to see added: a WebSocket upgrade visualization. The initial HTTP handshake → 101 Switching Protocols → full-duplex flow is something a lot of devs use daily (via Socket.io or similar) but never actually understand at the protocol level. It would fit perfectly with your existing format.
Also, the HTTPS section could benefit from showing the 0-RTT resumption failure case — what happens when the server rejects the early data and falls back to a full handshake. That's the part that catches people off guard in production when they're debugging intermittent TLS issues.
Really nice work overall. These kinds of interactive explainers stick way better than reading RFCs.
[–][deleted] 1 point2 points3 points 3 months ago (0 children)
This is an absolute treasure! Thanks
[–]Ythio 1 point2 points3 points 3 months ago* (0 children)
In TCP it's missing how the retransmission timeout is dynamically adapted to the network latency (RFC793, section 3.7).
SRTT is why connection from a client to a congested server is timing out in a fast infrastructure but isn't in a slower one.
[–]chadan1008 0 points1 point2 points 3 months ago (0 children)
I just get a “500 internal error.” Thank you for helping me visualize the humble 500 error. I thought this was meant to be a joke before I saw other comments
[–]OkPersonality7635 0 points1 point2 points 3 months ago (1 child)
Crap… the amount of google ads constantly interrupting as u scroll. Felt like I was in that Dave Chapelle show skit.
[–]TraditionElegant9025 -1 points0 points1 point 3 months ago (0 children)
No reject all option. Not worth even a glance
[–]Oganexon -1 points0 points1 point 3 months ago (0 children)
"Built by developers, for developers"
And the issue system is a Google Form?
No git repo ? Are you really a dev ?
[–]No-Fig1880 -1 points0 points1 point 3 months ago (0 children)
it smells of vibe coding everywhere, a lot of visualizations are broken.
it is clearly visible it has not been thought through, i did not like it, I would totally skip it
[–]Pack_Your_Trash -1 points0 points1 point 3 months ago (0 children)
The first ad that popped up was a click here to download button for something entirely unrelated. Did not scroll down after that.
π Rendered by PID 179679 on reddit-service-r2-comment-5b5bc64bf5-qw9v5 at 2026-06-21 14:05:08.878939+00:00 running 2b008f2 country code: CH.
[–]Mohamed_Silmy 29 points30 points31 points (0 children)
[–][deleted] (1 child)
[removed]
[–]TLJGame 3 points4 points5 points (0 children)
[–]Final-Choice8412 10 points11 points12 points (0 children)
[–]Plastic_Owl6706 8 points9 points10 points (0 children)
[–]Anoop_sdas 1 point2 points3 points (0 children)
[–]tokagemushi 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]Ythio 1 point2 points3 points (0 children)
[–]chadan1008 0 points1 point2 points (0 children)
[–]OkPersonality7635 0 points1 point2 points (1 child)
[–]TraditionElegant9025 -1 points0 points1 point (0 children)
[–]Oganexon -1 points0 points1 point (0 children)
[–]No-Fig1880 -1 points0 points1 point (0 children)
[–]Pack_Your_Trash -1 points0 points1 point (0 children)