Recent posts about LOAF, which uses Bloom filter, created a small surge of discussion about bloom filters, most notable being the Using Bloom Filters article at Perl.com by Maciej Ceglowski whom I like to remember as the fish guy (visit his blog to see why).
I went fishing for some bloom filter code but couldn't find a general library in either Java or C++. There was one for Perl but… Anyhow, it's probably because there isn't much code needed. Most of the Bloom filter works is finetuning the parameters and choosing the right hashing function so it doesn't really matter.
Beside Maciej's article, I found these pages useful:
- Bloom Filters – the math (obviously explains the math behind BF)
- Some Motley Bloom Tricks (does this and does that with BF)
- Compressed Bloom Filters (PDF – self-explanatory)
- Coding Bloom Filters (game developer's tuturial on BF)
BF is pretty simple stuff but useful in many areas. I am thinking of using it to detect 'access devices' (user name, password, SSN, credit card numbers, etc.) being submitted translucently (translucent as in Translucent Database) so I can throw up a dialog warning to the user.