Sam Rose

samwho.dev · Personal blog · on HN since 2020

Sam Rose, a software engineer at ngrok, builds interactive visual explanations of topics like memory allocation, hashing, and load balancing.

What HN saysCommenters repeatedly recommend it for beautiful, detailed interactive explanations, comparing it to Ciechanowski's work, with one piece of feedback on a section.
43HN people shared it
16linked it in comments
36stories submitted
1.9Kstory points
4 months agolast shared
2020people per year2026

Most-shared posts

  1. 1
    Load Balancing
    12 people · 17 points · first shared 2023 · 1 comments on HN
  2. 2
    Memory Allocation
    5 people · 6 points · first shared 2023 · discussion on HN
  3. 3
  4. 4
    Homepage
    4 people · first shared 2025
  5. 5
    A visual introduction to big O notation
    3 people · 709 points · first shared 2025 · 193 comments on HN
  6. 6
    A visual interactive guide to Bloom filters
    3 people · 291 points · first shared 2024 · 54 comments on HN
  7. 7
    Reservoir Sampling
    2 people · 532 points · first shared 2025 · 105 comments on HN
  8. 8
    Latency numbers every programmer should know
    2 people · 5 points · first shared 2024 · 1 comments on HN
  9. 9
    A Logical Way to Split Long Lines (2019)
    2 people · 3 points · first shared 2023 · discussion on HN
  10. 10
    A Commitment to Art and Dogs
    2 people · 2 points · first shared 2024 · discussion on HN
  11. 11
    Allocator playground
    2 people · first shared 2023
  12. 12
    Latency numbers every programmer should know
    1 people · 237 points · first shared 2024 · 128 comments on HN
  13. 13
    Turing Machines
    1 people · 115 points · first shared 2024 · 35 comments on HN
  14. 14
    Ping Samwho
    1 people · 4 points · first shared 2024 · 1 comments on HN
  15. 15
    Bloom Filters
    1 people · 4 points · first shared 2024 · discussion on HN

What HN people wrote when they linked it

aranw · 2025-12-23
https://samwho.dev has some fantastic blog posts with great visualisations
smusamashah · 2025-09-02
Love the detailed interactive visual explanations, https://samwho.dev/ is another one like Ciechanow.ski
simonw · 2025-12-19
Sam has a long history of building beautiful visual explanations like this - I didn't realize he works for ngrok now, here's his previous independent collection: https://samwho.dev/
patleeman · 2023-05-22
I love this so much, thank you for putting this together! My only piece of feedback would be for the "Inline Bookkeeping" section (https://samwho.dev/memory-allocation/#inline-bookkeeping), it took a while for me to grok the numbered list to figure out which block corresponded to address + X. I wonder if there is a better way to visualize the 4 numbered bullet points? Maybe just arrows and text pointing to the visualization? Thanks again for this wonderful article!
thecoppinger · 2023-05-22
All credit goes to my wonderful friend Sam Who: https://twitter.com/samwhoo He recently published a similar guide on load balancing that is equally intuitive and insightful: https://samwho.dev/load-balancing/ I can't wait to see what he puts out next!
samwho · 2026-06-30
omalled · 2025-07-21
You might want to check out this very nice article on reservoir sampling, which discusses its application to logging: https://samwho.dev/reservoir-sampling/
jakelazaroff · 2025-03-03
Here's a Turing machine that uses finite space but infinite time: https://samwho.dev/christopher/?code=H4sIAAAAAAAAE8tNzMxTqFHQUqhRCNAw1… (from Sam Rose's wonderful article on Turing machines [1]) Your last point is correct, though: if you can detect a "cycle" (like the one the Turing machine I linked to goes through) then you can conclude that the machine won't halt. [1] https://samwho.dev/turing-machines/
mzs · 2024-02-20
I really like this husky graphic, did you create it? https://samwho.dev/images/sage-warning.png
ngshiheng · 2023-12-26
https://samwho.dev/blog/ The visualizations help with the understanding while keeping it engaging too
zdc1 · 2023-08-31
This one came up on HN previously. Playground is at the bottom: https://samwho.dev/load-balancing/
N-Krause · 2023-05-22
It even has a playground! https://samwho.dev/allocator-playground/ How I wish I had something like that when I first learned C.
junon · 2023-05-22
This is really, really well done. Also, the allocator playground[0] is really cool. Will be my go-to when teaching this topic moving forward :) [0] https://samwho.dev/allocator-playground/
subract · 2025-05-08
nickm12 · 2021-05-11
[40 minutes into the talk]: Looks like the study scanned 3.6 million github issues across 1.7 million repositories and looked for the number of bugs that were TypeError, AttributeError, or NameError and found it was 2.7% of issues. I'm not a fan of this kind of methodology, because there are so many different use cases for github issue tracker (including feature requests, documentation requests, etc.) that I think the denominator here is overestimated. I'd rather have a study that looked at 1000 issues in depth with a rigorous rubric than one that grepped through millions of issues. Also, looking only at the issues doesn't count the ones that were caught in development or testing. I like the notion of "moving your bugs to the left"[1] and would much rather find these type errors at build time than later. Finally as I said in my other comment, avoiding type errors is not the only benefit of type checking. Making code easier to understand and refactor (including programmatic refactoring) are other benefits that are not captured only by counting bugs. [1] https://samwho.dev/blog/move-your-bugs-to-the-left/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close