21 ms·
>To understand Bloom filters, you first have to understand hashing. As pedagogy, I think this is the wrong approach. The author already knows Bloom filters an
by jasode 11y ago
>To understand Bloom filters, you first have to understand hashing.
As pedagogy, I think this is the wrong approach.
The author already knows Bloom filters and therefore, it seems like the most logical thing to first talk about is hash functions because that's how it's implemented.
Unfortunately, that's not how a person brand new to the concept thinks about it. The first thing to talk about is motivations and scenarios and use cases.
For that, the first 2 paragraphs of wikipedia article[1] on Bloom filters is fairly straightforward. It explains why it's an interesting technique. Imo, those paragraphs are a better introduction than the author's dive right into "hash functions" immediately after unrelated blurbs of "I put my fork down" and "my wife shakes her head with a rueful smile."
[1]https://en.wikipedia.org/wiki/Bloom_filter https://en.wikipedia.org/wiki/Bloom_filter
- dustingetz 11y agowow yes, this is an issue with nearly every technical conference talk
- ionforce 11y agoIn my experience, more specifically with talks about functional programming techniques. I find them completely impenetrable.
- baddox 11y agoI'm fine with explaining the motivation first, but I struggle to see how you can explain bloom filters without eventually getting to hashing. Obviously you don't need to explain any actual real-world hash function, but you need to explain the concept of deterministically mapping X bits to Y bits where X > Y, which is essentially what a hash function does.
- FellowMarketer 11y agoI don't think at the level of the article that it's inappropriate to assume that the reader is at least familiar with the term "hashing", and can wait on the technical details of the particular types of hashing functions needed for bloom filters until the second or third section. I honestly just closed the article when he started in on hashing, because I want to know about bloom filters (which I don't know about), not the basics of hashing (which I learned as an undergrad, and need to know day-to-day as a working programmer).
- deleted 11y ago[deleted]
- adamtj 11y agoPedagogy? No, this article is written in that modern style of popular non-fiction which is meant to entertain above all other concerns, including such silly things as pedagogy, clarity, rigor, or sometimes even factual correctness. This style is characterized by titles like "Catchy Phrase: The surprising tale of a subtitle that actually tells you what the book is about. Or does it?" "Catchy Phrase" tells the story of an single data point, or maybe three, with edge-of-your-seat tension provided by a jumbled chronology. It opens a generation before the main data point was born, then skips to the present day, before jumping into the middle of a tangential story. Then it's back to where we left the origin story of the data point, but this time we're in a different location looking at the second data point. Next comes some speculation about a possible rosy future and maybe a motivating example. Next we end the tangential story, which introduces the third data point, at it's funeral. The tangential story begins. As you read, you can see a complex theme slowly but deftly woven from the timelines of the several stories. It's a pattern that a knitter might call "felt". You can't help but be drawn in. It's so fascinating and intricate that you, like the author, sometimes have trouble distinguishing cause from effect, which adds an alluring air of mystery. The ideas must be Important. Despite the complexity, in the end the conclusions seem simple and obvious. You feel smart. You go to a dinner party and gush about it to your friends. They wake up the next day and, despite one-too-many cocktails, find that they remember the title of "Catchy Phrase". They look it up, and One-Click (tm) later, the life cycle is complete. You aren't the audience, you're the vector.