The Curious Engineer

All blogs / Algorithms / data structures

samwho.dev

samwho.dev

I write visual and interactive guides to programming topics.

Algorithms / data structuresSoftware / engineering practicePerformance / optimization

Posts
71 from 25 Sep 2011 to 23 Dec 2025
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://samwho.dev/rss.xml

2025 5

  1. 2025
  2. Big O
  3. Hashing June 20, 2023 My newest post, https://samwho.dev/hashing/, is now available! It is a visual introduction to hash functions, in much the same style as my other visual...
  4. Retries - an interactive study of common retry methods October 10, 2023 Happy Tuesday from the UK! New post: https://encore.dev/blog/retries. Since June I've been working on this and today I'm really excited to share it with you....
  5. Reservoir Sampling

2024 6

  1. Turing Machines
  2. A visual, interactive guide to bloom filters February 19, 2024 Hello 👋 I've just published a new post! It's a visual, interactive guide to bloom filters, and you can find it here: https://samwho.dev/bloom-filters/. I'd...
  3. A Commitment to Art and Dogs
  4. New post! Queueing - An interactive study of queueing strategies May 22, 2024 Ahoy! 👋 I hope you’re all having a wonderful day, wherever and whenever you are in the world. Today is the day I’m publishing “Queueing - An interactive...
  5. Bloom Filters
  6. Turing Machines December 20, 2024 I’ve just published my newest post: Turing Machines! https://samwho.dev/turing-machines This one has really been a labour of love, and I really hope you...

2023 7

  1. New post: Reservoir Sampling May 8, 2025 I’ve just published my newest post: Reservoir Sampling! https://samwho.dev/reservoir-sampling As always, the code for these posts gets published at...
  2. New post: Big O! August 23, 2025 I’ve just published a brand new post: https://samwho.dev/big-o. This post aims to be a visual introduction to big O notation, showing the ideas with...
  3. Hashing
  4. Memory Allocation
  5. Load Balancing
  6. Practical Problems with Auto-Increment
  7. Getting an Autism Diagnosis

2022 1

  1. I finally figured out how to take notes!

2021 3

  1. Adventures in Homelab: Part 1
  2. Simple Complex Easy Hard
  3. Scale is Poison

2020 3

  1. Fun With Rust's Traits
  2. Dude, where's my main?
  3. Having a Baby

2019 7

  1. API Design: In The Wild (part 2)
  2. API Design: In The Wild
  3. API Design: Errors
  4. A Logical Way to Split Long Lines
  5. API Design: Optional Parameters
  6. Life Skills Learned Playing World of Warcraft
  7. The dos and don'ts of large, online communities

2018 1

  1. Language Interoperability From the Ground Up

2017 4

  1. Move Your Bugs to the Left
  2. Emulating Bad Networks
  3. Not Just Games: Stories
  4. Visiting Kenya and Mary's Meals

2016 1

  1. Creative Writing: Hovering

2015 3

  1. Toying with Cryptography: Crib Dragging
  2. A Beginner's Guide to Money After University
  3. How does file copying work

2014 8

  1. Unpopular Opinion: I like the whiteboard interview
  2. On Being a World of Warcraft Addict
  3. Phobias for the Non-Phobic
  4. The Interweb Isn't Magic
  5. Journey: A Story of Compassion in Video Games
  6. From being rejected by McDonald's to working at Google
  7. A Journey Down the TCP Rabbit Hole
  8. Ruby GDB Scripts

2013 12

  1. On Understanding Computers
  2. Duplicate Symbol? What?
  3. Poking Around Inside Ruby
  4. Improving Careers Days
  5. Context Switching on x86
  6. Stack Overflows and Tail Call Optimisation
  7. The Birth and Death of a Running Program
  8. Assam: A VM in Ruby
  9. GiveMondays, People-Watching and Being Suspicious
  10. C Declarations
  11. Moventy-thirteen
  12. Interesting Findings While Teaching Kids How to Code

2012 5

  1. London, Charity, Forward
  2. Access Control in Ruby
  3. Adventures in Arduino
  4. Vim Sessions: A Little Something
  5. Command Line Blogging in 2 Commands

2011 3

  1. Pipes: How They Work and How to Use Them
  2. Facebook Chat From the Command Line
  3. Static: What, why, and how?

Undated 2

  1. samwho.dev/ping
  2. my all-time favourite things on the internet