Source:
Jacob Sorber
A better hash table (in C)