Hashing is a way of taking some data, like a string or object, and turning it into a number that can be used as a key in a hash table. It's a core concept in computer science that every software engineer should know, but explaining it to marketing folks is about as fun as a 3 hour meeting that should have been an email.
I was trying to track down this gnarly bug in our user authentication flow, and it turned out some genius decided to use the user's email as the hash key, so we ended up with collisions out the wazoo every time Gmail decided to hand out a new round of addresses.
The new engineer on the team was bragging about his 10X coding skills, but when I asked him to explain how the hashing worked in our distributed caching layer, he just gave me a blank stare and muttered something about "the cloud".
Consistent Hashing: Algorithmic Tradeoffs - A deep dive into the tradeoffs and considerations when using consistent hashing in distributed systems. Pour yourself a strong cup of coffee before diving into this one.
Hash Functions and Hashing (in Python) - A more beginner-friendly introduction to hashing and hash functions, with examples in Python. If you're just getting started with hashing, this is a good place to dip your toes in.
Lifetimes of cryptographic hash functions - A fascinating look at the history and evolution of cryptographic hash functions, and why we keep having to come up with new ones. It's like the fashion industry, but for math nerds.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.