Bob Jenkins' Web Site


Here's a 128-bit noncryptographic hash that runs at 3 bytes/cycle for long messages. Don't use it for anything important ... it hasn't been tested enough yet. It's much slower than lookup3 for short messages. Most uses of noncryptographic hashing have mostly short messages. The code and ideas behind this hash are quite ugly.

My perfect hash function is obsolete. See here. The basic idea is to split 200 gazillion keys into a gazillion buckets, have each buckets find a perfect hash for its 200 some keys, plus store offsets to the start of each bucket (each offset is the total number of keys in all buckets before this one). That reduces the problem to finding a perfect hash of 200 keys, which can be done in parallel for each bucket.

perpetual motion

Table of Contents (internal links):

Hashing
Here's a hash table, code for perfect hashing, a good hash function for hash table lookup, a FAQ, some theory, and code to search for new hash functions. I tried designing block ciphers and finding characteristics. I had an article published in Dr. Dobb's in September 1997.
Randomness
Have the cryptographic pseudorandom number generator ISAAC, a small noncryptographic pseudorandom number generator, a prize for breaking ISAAC, and ISAAC's background and theory. Also take some tests for randomness, and a table of orders of magnitude. Here are also some protocols and a unit vector generator.
Collections
See some skits from Boy Scouts, SQL tricks from Oracle, near-future speculations, some paper airplanes, some recipies, and some cartoons that I wrote in college.
Math
Look into pentagonal tiles, formulae for n-body orbit simulations, code for the HOMFLY knot polynomial, voting methods, choosing random passwords, jenny for pairwise testing, some error correction codes, a distributed HTML index, and a web page for choosing colors.
Physics
Consider perpetual motion machines, a dirigiped design, a scale model of the solar system, a page on exploring orbits with Java, Klemperer Rosettes, a simulation of Cruithne (a near-earth object), of figure-eight orbits, of binary star planetary orbits, a set of noncolliding orbits, some Dyson Swarms (pretty pictures!), some methods for the n-body problem, a description of the orbit applet used, and a tentative itzu world.
Home projects
See my half bath, a house design that will never be built, a dollhouse that did get built, some genealogical notes, and a roof rack for Justine's car.
Other
Here is my autobiography, a resume, a cong from the British Museum, a comparison of JPEG and JPEG 2000, a bit on software patents, my mom's art, and some early Bob photos. My wife Justine has a website too. Here are people I've encountered more than once.


Here are some other sites:


Send mail to Bob at bob_jenkins@burtleburtle.net.