Live data from Hacker News

What are Bloom filters? (2015)

medium.com

61–70 of 71 posts

Re: What are Bloom filters? (2015)

#61
post #51
post #40

Earlier quoted context omitted.

> A list of votes per user per page would also work. ~90% of the time that list would be empty, Not really. People tend to vote on one or two things on a page. So you'll have a long list of people who voted on one or two of the 1000+ items, and now you've had to do an extra lookup. It's a lot faster to just go straight for the votes and take advantage of the bloom filter.

You work(ed) at reddit, d(o|idi)n't you?

Worked, yes.

Re: What are Bloom filters? (2015)

#62
post #49
post #41

I read about halfway into this article, and when the author started talking about Javascript, the "this" keyword, and the politics about the job, I stopped. What does that have to do with bloom filters? Get to the point!

the post is how he's returning a favor, which he explains in the post, in the "returning the favor" section

But that doesn't tell me how Bloom filters work. I don't care about his dinner or what favors he owes, unless he's planning on turning those expository details into a clever metaphor later in the article, or if they really are something that's important for me to understand.

I'm all for educational pieces that are told through a conversation between characters - you can get some creative writing out of that. However, the bug that he's asked to fix, the Polish typographer friend, and the dinner scene are barely connected to the subject. We don't even get a nice technical explanation of why the bug is impossible to fix or what that means with regards to the trade-offs in using Bloom filters.

Re: What are Bloom filters? (2015)

#64
post #23

Bloom filters originally upset me because I expected the word "Bloom" to refer to an action of the algorithm. Not so someone's name. I'm fond of Concierge filtering as an easy description of how they work. I view them as a brief conversation with the front desk staff at a hotel to determine if someone is there. "Is anyone here wearing a hat? Is anyone here over 6'? Did anyone come in carrying a briefcase?"

>Bloom filters originally upset me because I expected the word "Bloom" to refer to an action of the algorithm. Not so someone's name.

I thought Canny edge detection had to do with the fact that the edge detector was canny.

Re: What are Bloom filters? (2015)

#65
post #14
post #8

Earlier quoted context omitted.

Bloom filters have a lot of problems for critical processes in practice. They are best used when being wrong is a non issue or as a type of cache, but preforming a hash is generally really slow. Also, the way virtual memory works looking up an answer often makes storing the new value much faster. So, while cool they have generally been replaced by far more useful and less complex topics. One example is if your lookin…

The place where bloom filters really shine is doing lookups on data where most of the time the data isn't there. For example, when you load a page on reddit, it has to check for a vote on every single comment on the page to see if you voted on it. Chances are 99% of the time you didn't vote on an item. Using the built in bloom filter in Cassandra, it can very quickly tell if you voted on an item without having to hit…

[deleted]

Re: What are Bloom filters? (2015)

#66
post #64
post #23

Bloom filters originally upset me because I expected the word "Bloom" to refer to an action of the algorithm. Not so someone's name. I'm fond of Concierge filtering as an easy description of how they work. I view them as a brief conversation with the front desk staff at a hotel to determine if someone is there. "Is anyone here wearing a hat? Is anyone here over 6'? Did anyone come in carrying a briefcase?"

>Bloom filters originally upset me because I expected the word "Bloom" to refer to an action of the algorithm. Not so someone's name. I thought Canny edge detection had to do with the fact that the edge detector was canny.

There ought to be a list of surprisingly-eponymous things like Page rank, Killing vector, Poynting vector, ...

Re: What are Bloom filters? (2015)

#67
post #23

Bloom filters originally upset me because I expected the word "Bloom" to refer to an action of the algorithm. Not so someone's name. I'm fond of Concierge filtering as an easy description of how they work. I view them as a brief conversation with the front desk staff at a hotel to determine if someone is there. "Is anyone here wearing a hat? Is anyone here over 6'? Did anyone come in carrying a briefcase?"

How do you feel about shellsort? https://en.m.wikipedia.org/wiki/Shellsort

Exact same problem. :)

At least that is sometimes written as Shell's sort.

Re: What are Bloom filters? (2015)

#68
post #8
post #2

Bloom filters are beautiful and highly underutilized. I used a Bloom filter in an interview and they looked at me like it was some form of arcane sorcery. Isn't this standard in algorithms and data structures courses? Does anyone know if it has been removed from the curriculum?

Bloom filters have a lot of problems for critical processes in practice. They are best used when being wrong is a non issue or as a type of cache, but preforming a hash is generally really slow. Also, the way virtual memory works looking up an answer often makes storing the new value much faster. So, while cool they have generally been replaced by far more useful and less complex topics. One example is if your lookin…

Stable bloom filters are a nice variant with a less bad pathological case.

Re: What are Bloom filters? (2015)

#69
post #2

Bloom filters are beautiful and highly underutilized. I used a Bloom filter in an interview and they looked at me like it was some form of arcane sorcery. Isn't this standard in algorithms and data structures courses? Does anyone know if it has been removed from the curriculum?

Bittorrent uses them for distributed calculation of statistics. For counting of set unions specifically.

http://bittorrent.org/beps/bep_0033.html#abstract

Re: What are Bloom filters? (2015)

#70
post #38

Earlier quoted context omitted.

Your looking it up once per page vs. once per comment. So, yes it might be faster, but when something takes 1% of total time speeding it up has massive diminishing returns.

Still, 1% of a very large number (I don't know Reddit's server costs) can be a large enough number to be worth pursuing.

Agreed, HN uses 1 server and /. had 4 so I assume Reddit is of a similar size, but if they need a bunch of HW then sure it might be useful.
Post reply on HN