3 ms·
I think CS education would be improved if these concepts didn't have mysterious names. Respect to Bloom, but the programming median might be raised if Bloom fi
by avaer 9y ago
I think CS education would be improved if these concepts didn't have mysterious names.
Respect to Bloom, but the programming median might be raised if Bloom filters were called something stupid obvious like Hash Array Filler-upper Tables. We might not even need to spend time making visualizations to explain them.
- taeric 9y agoLast time this came up, I gave my wish that these had been called something like a Concierge filter. The metaphor being that you can ask the concierge of a hotel several questions about people that have been seen entering to get an idea if a given person is probably there.
- SyneRyder 9y agoWhile I'm not sure I agree about mysterious names, I do get confused whenever Bloom filters are mentioned on HN. I always think they're about bloom filters as applied to computer graphics: https://en.wikipedia.org/wiki/Bloom_(shader_effect) https://en.wikipedia.org/wiki/Bloom_(shader_effect)
- mikehollinger 9y agoThat'll just get renamed to a HAF table, which'll then get confused with some (to be invented) "half" table. ;-)
- middleorigin 9y agoI have no idea why you think the name helps remove the need for a visualization. Besides I think "filter" is more apt than "table"—it doesn't store anything per se.
- avaer 9y agoI never needed a picture to understand a hash table once I knew what a hash function was. If it were called a McCready table, that's one more trip to Wikipedia, plus one more every time I forget. Re: naming: It's a table of hash function results. It probabilistically stores a set. I don't see any filter here, though one use of the technique is indeed in filtering a list, though there are plenty more.
- middleorigin 9y agoRight, but you're describing the implementation, which doesn't imply anything about its use. I prefer to name by the latter: the implemenation is just a detail on how the filter does its filtering.
- tdb7893 9y agoHow about "probabilistic hash filter" as a name? ... this naming stuff it hard
- panic 9y agoWhat is this mysteriously-named Hash Array? Perhaps you're talking about a Contiguous Allocation with Well-Shuffled Value-Derived Indexes?
- avaer 9y agoYou know what both a Hash and Array are, as would ~100% of the people who care about Bloom filters.
- jolmg 9y agoHis point still stands, though. :) Those who already know what a Bloom Filter is would probably the find the name more convenient than having to say a short description every time. Those that are just learning programming might argue that Hash, Array, Boolean, String, etc. would be understood faster if they had more descriptive names. Having a short, distinctive name helps in differentiating and reasoning about the different objects. Think of an everyday programming-related discusion that includes hashes, arrays, and strings, and think about making the following substitutions: - Hash : Contiguous Allocation with Well-Shuffled Value-Derived Indexes - Array : Contiguous Allocation of Same Typed Values - String : Contiguous Allocation of Character Values - Boolean : Either True or False Value
- deleted 9y ago[deleted]