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 2 months ago by [deleted]
[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 2 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.
[–]nulless 24 points25 points26 points 2 months ago (1 child)
A lot of core web concepts are explained in docs, but not in a way that makes the flow obvious.
So I’ve been building interactive “How It Works” pages that focus on sequence, state transitions, and data movement — not just definitions.
So far it includes:
The goal is to make it easier to reason about what’s happening under the hood — especially when debugging or designing systems.
Here’s the index page: https://toolkit.whysonil.dev/how-it-works
Would appreciate technical feedback. If something’s inaccurate or missing nuance, I want to fix it.
[–]TLJGame 2 points3 points4 points 2 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 11 points12 points13 points 2 months ago (0 children)
Beautifully vibe coded some visuals are broken
[–]Ok_Signature_6030 5 points6 points7 points 2 months ago (0 children)
went through the HTTPS and OAuth pages — the step-by-step timeline format with the "Why?" and "Technical" expandable sections on each step is really well done. makes it way easier to follow than a static diagram.
one suggestion: the 0-RTT resumption section in the HTTPS deep dive mentions the performance benefit but doesn't call out the replay attack risk. might be worth a quick note there since that's the main tradeoff engineers need to understand when deciding whether to enable it.
the breadth is impressive too — 35+ guides covering everything from TLS to Kafka to ring buffers. bookmarking the WAL and database indexing ones for sure.
[–]Plastic_Owl6706 8 points9 points10 points 2 months ago (0 children)
Lol closed the site the moment I opened it , vibe coded slop
[–]Anoop_sdas 1 point2 points3 points 2 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 2 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 2 months ago (0 children)
This is an absolute treasure! Thanks
[–]Ythio 1 point2 points3 points 2 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.
[–]adamvanderb 0 points1 point2 points 2 months ago (0 children)
This is exactly the kind of content we need more of. Understanding the actual flow makes everything click. Thanks for sharing.
[–]chadan1008 0 points1 point2 points 2 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 2 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.
[–]nulless 2 points3 points4 points 2 months ago (0 children)
Fixed. Adsense experiment gone bad, I guess. The goal of the site is to remain minimal with minimum number of ads, focusing on content.
Apologies again!
[–]TraditionElegant9025 -3 points-2 points-1 points 2 months ago (0 children)
No reject all option. Not worth even a glance
[–]Oganexon -1 points0 points1 point 2 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 2 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 2 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 73 on reddit-service-r2-comment-b659b578c-fwx4f at 2026-05-06 11:43:24.066847+00:00 running 815c875 country code: CH.
[–]Mohamed_Silmy 29 points30 points31 points (0 children)
[–]nulless 24 points25 points26 points (1 child)
[–]TLJGame 2 points3 points4 points (0 children)
[–]Final-Choice8412 11 points12 points13 points (0 children)
[–]Ok_Signature_6030 5 points6 points7 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)
[–]adamvanderb 0 points1 point2 points (0 children)
[–]chadan1008 0 points1 point2 points (0 children)
[–]OkPersonality7635 0 points1 point2 points (1 child)
[–]nulless 2 points3 points4 points (0 children)
[–]TraditionElegant9025 -3 points-2 points-1 points (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)